MAMPでDB接続にハマったときの話


最近PHPの学習始めました。
学習言語の雑食感が半端ないですが、必要に駆られてやっていることで、挫折したとかではありません。

動画でPHPを学習していたときのMAMP環境でDB接続するときにMySQLに接続できなかったときの話です。
教材では

<?php
try{
  $db=new PDO('mysql:host=127.0.0.1;dbname=mydb;charset=utf8','root','');
}catch(PDOException $e){
  echo 'DB接続エラー: ',$e->getMessage();
}
?>

とするように説明されていたのですが、MySQL SQLSTATE[HY000] [1049] Unknown database 'mydb'
とのこと。いや、あるし。

で、色々ググってたらhostにポート番号いれて...というのを見つけたので、
host=127.0.0.1:3306

ん?そもそもMAMP環境でMySQLのポートは3306でいいのか?と思いながら指定するも、案の定変わらず。
とりあえず再起動するか、と思ってやってみると、立ち上がってきたMAMPの初期画面に

書いてあるやん!!!
しかもパスワード間違えてるし。

<?php
try{
  $db=new PDO('mysql:host=127.0.0.1:8889;dbname=mydb;charset=utf8','root','root');
}catch(PDOException $e){
  echo 'DB接続エラー: ',$e->getMessage();
}
?>

これで無事接続できました。