質問: $jikan,を設定した時に下記のエラーコードが表示されました。 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column '2分前' in 'field list'' in 日本語訳: SQLSTATE [42S22]:列が見つかりません:1054'フィールドリスト 'の' 2分前 'の不明な列' ' テーブルにあるカラムには title, url, body, name, comment, jikan,created があります。 プライマリーキー:id ユニークキー:title ユニークキー:url に設定しています。 エラーが表示されない変数には「日本語」が入っていなく「数値」や「日付」 エラーが表示される変数「$jikan」には「2分前」「5分前」といった日本語が入っているので それが原因なのかも?と考え 色々と試してみたのですが上手くいかず、頭が混乱してしまっている状態です。 ネットで色々調べてみたのですが、解決する事が出来ませんでした。 解決方法をご存知の方や、何かお気付きの点がある方は お力をお貸し頂けると嬉しいです。 どうかお願いします。
回答: ``` $sql = "insert into bbs (title, url, body, name, comment, jikan, created) values (:title,:url,:body,:name,:comment,:jikan,now()) ON DUPLICATE KEY UPDATE comment = '$comment', jikan = '$jikan', created = now() "; ``` って言う感じでシングルコーテーション囲んでないからではと思います。 ※プリペアドステートメント使ってるから ``` $sql = "insert into bbs (title, url, body, name, comment, jikan, created) values (:title,:url,:body,:name,:comment,:jikan,now()) ON DUPLICATE KEY UPDATE comment = :comment, jikan = :jikan, created = now() "; ``` のほうがいいかもしれませんね