2

これが私のクエリです

INSERT INTO faq (order, heading, content)
VALUES ('$_POST[order]','$_POST[heading]','$_POST[content]')

その前に ID と呼ばれるフィールドがあり、自動インクリメントと INT に設定しました

「エラー: SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを参照してください。「順序、見出し、内容の近くで使用してください」) VALUES ('Order','Title', 'content')' 行 1"

ID フィールドが存在しなくても問題なく動作しますか?

4

1 に答える 1

7

order は sql キーワードです。語順をエスケープするには、バッククォートを使用する必要があります

INSERT INTO faq (`order`, `heading`, `content`)
VALUES ('$_POST[order]','$_POST[heading]','$_POST[content]')

また、SQL クエリに直接挿入する代わりに、これらの $_POST パラメータをエスケープする必要があります。

$order = mysql_real_escape_string($_POST['order']);
...
INSERT INTO faq (`order`, `heading`, `content`)
VALUES ('$order','$heading','$content')    
于 2013-06-27T20:26:37.987 に答える