PHP/Laravel

【MAMP/PHP】Mysqlに接続する方法【わかりやすく解説】

こんにちは、シロウです。

最近、PHPを学習しているのですがMAMPを利用してMysqlに接続しようとしたら結構ハマってしまいました。

そこで今後ハマらないように、また皆さんも同じようにハマらないように簡単わかりやすく解説します。

【前提】
・MacでMAMPを利用している
・「mydb」というデータベースを作って、それに接続すると仮定

Mysqlに接続する方法

new PDO('接続文字列','ユーザー名','パスワード')

要はこちらを書けばmysqlに接続できます。

全て埋めると下記のようになります。

new PDO('mysql:dbname=mydb;host=localhost;charset=utf8','root','root');

これだけだと少しわかりにくいと思うので、「接続文字列」「ユーザー名」「パスワード」についてそれぞれ解説していきます。

接続文字列

new PDO('mysql:dbname=データベース名;host=localhost;charset=utf8','ユーザー名','パスワード');

まず接続文字列(’mysql:dbname=データベース名;host=localhost;charset=utf8’)は上記のように記述します。

データベース名は自分で付けた名前を入れてください。

「host=localhost;charset=utf8」これは定型文みたいなものなので気にしなくてOKです。

今回の場合は「mydb」というデータベースに接続するので、

'mysql:dbname=mydb;host=localhost;charset=utf8'

とします。

ユーザー名

new PDO('接続文字列','root','パスワード');

ユーザー名はrootをいれます。

パスワード

new PDO('接続文字列','ユーザー名','root');

パスワードも同様にrootといれます。

実際の使い方

さて、ここまでのことをもう一度まとめてみると、下記の通りです。

new PDO('mysql:dbname=mydb;host=localhost;charset=utf8','root','root');

上記のコードを書けばとりあえずデータベースに接続することはできます。

あとは適当な変数を作って代入してあげてればOK。

具体的には下記の通りです。

//データベースへ接続
$pdo = new PDO("mysql:dbname=php_tools;host=localhost;charset=utf8mb4","root","root");
// ユーザの入力情報をSQL文に含める準備
$statement = $pdo->prepare( 'Insert into テーブル名(カラム名) values(:変数)');
// SQL文にユーザからの入力情報を代入
$statement->bindParam(':変数', $_POST['hoge']);
// ユーザからの入力情報を含んだSQLを実行
$statement->execute();

こんな感じにすればユーザーからの情報を受け取った機能が実装できます。

わかりにくかったらツイッター(shiro_life0)のDMとかで連絡してくれれば嬉しいです(*・ω・)ノ

それではまたっ。