質問: ### 作っているもの PHPで投稿システムを作成しています。 ### 発生している問題・エラーメッセージ PHPからMySQLのデータベースに書き込もうとしましたが,書き込まれません。 dbというデータベースのtbというテーブルに,次のカラムを設定しています:no,dai,tx,sho,dat ### 該当のソースコード index.php ``` Sharedu 試験画面 大問のタイトル 問題の文章 小問 以上でよろしければ,送信ボタンを押下してください。 ``` sharedu.php ``` 試験画面 query("INSERT INTO tb (no,dai,tx,sho,dat) VALUES (NULL,’$dai’,’$t01’,’$s1',NOW())"); print "書き込みました。"; print "一覧表示"; ?> ``` ### 補足情報(FW/ツールのバージョンなど) MAMPでMySQLを使用し作成しています。 テーブルのStructureは以下のリンクの画像の通りです。 https://imgur.com/gCpBjEN
回答: シングルクォーテーションを外して ``` $db->query("INSERT INTO `tb` (`no`,`dai`,`tx`,`sho`,`dat`) VALUES (NULL,$dai,$t01,$s1,NOW())"); ``` でいかかでしょうか。 上記コードでは、テーブル名・フィールド名にバッククォートをつけておきました。こうした方が処理速度が若干早くなるようです。また、特にフィールド名にはこれをつけておかないとサーバによってはエラーが発生しますので。ご参考までに。 あと、データベースに接続したりする処理はhtml内ではなく、別ファイル上またはhtmlを書き出す前に行っておくことをお勧めします。