1

私はjoomlaプラグインのためにこのクエリを書きました

$query = "UPDATE #__content SET fulltext='$_POST[statenames]' WHERE id=$articleId";

しかし、それはエラーを与えます-

SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、1行目の「fulltext = '1' WHERE id=41」の近くで使用する正しい構文を確認してください。SQL=UPDATEjst_content SET fulltext = '1' WHERE id = 41

エラーは何ですか?

4

1 に答える 1

2

FULLTEXTMySQLの予約キーワードです。列をバッククォートでラップする必要があります。

$query = "UPDATE #__content SET `fulltext` = '$_POST[statenames]' WHERE id=$articleId";

SQL Injection補足として、変数の値がクライアントからのものである場合、クエリは脆弱です。それを防ぐ方法については、以下の記事をご覧ください。PreparedStatementsを使用すると、値を一重引用符で囲む必要がなくなります。

于 2012-12-27T09:12:14.777 に答える