• お世話になります。
    既出の論点でしたら申し訳ありません。 Fatal...
  • チャン福ぅチャン福ぅ 
    お世話になります。
    既出の論点でしたら申し訳ありません。

    Fatal error: Uncaught PDOException: SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected in /Applications/MAMP/htdocs/sample/index.php:81 Stack trace: #0 /Applications/MAMP/htdocs/sample/index.php(81): PDOStatement->execute(Array) #1 {main} thrown in /Applications/MAMP/htdocs/sample/index.php on line 81

    上記エラーの「No database selected」に着目し確認したところ

    // DBへの接続準備
    $dsn = "mysql:dbname = php_sample01; host = localhost; charset = utf8";
    の「=」の前後に半角スペースが入っていることによりDBへの接続がうまくいっていない事が判明いたしました。

    全角スペースや前だけ、後ろだけなど色々試したのですが、スペースなしでしかDBへ接続できませんでした。
    半角スペースや改行はプログラミングには影響がなく見やすさのために使用されている認識でしたが、今回のケースではその限りでなかったので、何か使用してはいけない基準があるのでしょうか?
    回答 0

     
    DBへの接続準備は、mysqlのコマンドをPHPから呼び出している処理になります。
    mysqlのコマンドでは、半角スペースや改行は意味を持ってしまうため、今回のケースは影響が出てしまっています。

    システム開発では、自分の想定していない動作をする場面が度々あります。
    自分で動作確認されていてとても良いですね。
    動作確認しつつ、マニュアルなどで裏付けを取ると、自信を持って開発を進めることができるようになるので、試してみてください。