質問: $prepare->fetchAll(); var_dump($result); } catch ( PDOException $e ) { print ("接続エラー:".$e->getmessage()); die(); } ?> ``` エラーの内容 接続に成功しました。接続エラー:SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''num' INT(10) AUTO_INCREMENT PRIMARY KEY, 'name' VARCHAR, 'comment' VARCHAR, 'da' at line 2
回答: 直接DBに実行して成功してからプログラムから使いましょう。 PHPMyAdminからでもコマンドラインからでも構いません。 直接実行して成功しないSQLは当然どこから実行しても成功しません。 PHPと同じく「Syntax error」は構文エラーです。 構文エラーが出たときはドキュメントを確認しましょう。 MySQL 5.6 リファレンスマニュアル / ... / テーブルの作成 たぶんVARCHAR型に桁数の指定がないのが問題ではないかなと思います。 何桁にするかは仕様なので決めてください。 蛇足: PHPから直接CREATE TABLEするケースってほとんどないと思います。 そのPHP実行するたびにCREATEしようとしますけど、そういうプログラムってないですよね(それにIF NOT EXISTS入ってないとエラーになります) 練習のためならそれはそれで良いですが、実用的ではないということだけ認識しておいていただけたらと。