最近UdemyにてPHPの入門講座を受けていたのだが、いざ「新たにアプリを開発するぞ!」といったところに差し掛かって、気合が入って来ていたさながら、MySQLにPHPのプログラムを接続しようとしてPDO~のコードを書いていた時に、Connection Refusedと表示され、やる気をへし折られてしまった。。。(笑)
最終的にPHPをMySQLに接続できたときのコード
index.php
try {
$db = new PDO('mysql:dbname=mydb;host=localhost;charset=utf8', 'root', 'root');
} catch(PDOException $e){
echo 'DB接続エラー: ' . $e->getMessage();
}
失敗したときのコード
index.php
try {
$db = new PDO('mysql:dbname=mydb;host=127.0.0.1;charset=utf8', 'root', 'root');
} catch(PDOException $e){
echo 'DB接続エラー: ' . $e->getMessage();
}
原因はなんだったのか
上記の2つのコードを見比べて、違いに気づいていただけただろうか。
その違いとはhostの部分だ。
筆者が使用している教材では、XAMPPが使用されているだが、筆者はMAMPユーザーなのでその辺の違いでエラーが出たようであった。
どうやらMAMPでは
host=127.0.0.1
ではなく、
host=localhost
にしないといけないらしい。。
コードを間違えたのかとばかり考えて何度も見直して時間を食ってしまった。
間違えたら、秒速で検索しようと誓った瞬間であった。