0

SQLクエリで発生している小さな問題です。構文エラーが返され、かなり長い間検索しても問題が見つかりません。どなたか見つけられませんか?

クエリ:

INSERT INTO `blogposts` (id,'author','subject','content',date) VALUES (2,$author,$subject,$content,$date)

変数$author$subject、および$dateはフォームから受け取ります。それらは文字列で$dateあり、日付であり、数字の 2 は数字です。

4

2 に答える 2

1

フィールドを `: で囲む必要があります。

INSERT INTO `blogposts` (`id`, `author`, `subject`, `content`, `date`) VALUES (2,'$author','$subject','$content,$date')

自動インクリメントしている場合IDは、設定しないか、値を 0 にしてください。変数は必ずエスケープしてください。セキュリティ上の理由。

PDO に移行してみてください。

于 2013-03-20T10:48:39.903 に答える
1

あなたの入力を引用してください:

INSERT INTO `blogposts` (`id`,`author`,`subject`,`content`,`date`) VALUES (2,'$author','$subject','$content','$date')

それらをエスケープするか、準備されたステートメントを使用することを忘れないでください。さらに重要なことは、使用をやめるmysql_query()! 代わりに MySQLi / PDO を使用してください。

補足: mysql_query() PHP バージョン 5.5.0 で廃止予定

于 2013-03-20T10:48:42.387 に答える