2

更新または削除コマンドを実行しようとしている MySQL データベースがあります。

$query = "UPDATE db SET this='$_POST[f_that]',this2='$_POST[f_that2]' WHERE index='$_POST[f_index]'";

これは毎回構文エラーを返し、問題が近いことを示しindex='#'ます。情報は、データベースに設定された値とインラインの入力フィールドを持つテーブルから取得されます (インライン編集)。このform_indexように出力されます。私のデータベース内でindexは、が主キーであり、自動インクリメントです。

私はprint_r()$_POST$query使ってform_indexが数字 (そして正しい数字) であることを確認しました。

主キーだけでは参照できないルールはありますか?

4

3 に答える 3

3

indexmysql の予約語です。列名として直接使用することはできません`。これらの種類の予約語を使用するには、列名の前後で使用する必要があります。

$query = "UPDATE db SET `this`='$_POST[f_that]',`this2`='$_POST[f_that2]' 
WHERE `index`='$_POST[f_index]'";
于 2013-05-07T04:40:14.513 に答える
0

indexは予約語です。変更するか、以下のようにバックスティックを使用する必要があります

`index`
于 2013-05-07T04:40:22.047 に答える
0

の列名を変更しますindex。クエリのキーワードとして扱っています。

于 2013-05-07T04:42:13.180 に答える