4

PHP 経由で mySQL データベースから行を削除しようとしていますが、機能しません。私は次のことを試しました:

mysql_query("DELETE FROM table WHERE id='$id'");
mysql_query("DELETE FROM 'table' WHERE id='$id'");
mysql_query("DELETE FROM `table` WHERE id=`$id`");

$id は一意の識別子で、エコーして確認しました。「or die」を使用すると死に至ります。行は単に消えません。

私が試すべき他の構文はありますか?

4

4 に答える 4

2

考えられるすべての組み合わせを試してみようとしていたことは理解していますが、MySQL 構文で特定の句読点が実際に何を意味するかを理解するのに役立ちます。

`structure`

グレイブ アクセントは、列名などの構造の周りにのみ使用されます。

'value'

のように、値にはアポストロフィが使用されid='$id'ます。


mysql_query("DELETE FROM table WHERE id='$id'");

これは有効な構文です。周りに墓のアクセントを置くこともできますtable

mysql_query("DELETE FROM 'table' WHERE id='$id'");

これは無効な構文です。'table'値ではなく列であるため、無効です。

mysql_query("DELETE FROM `table` WHERE id=`$id`");

これは無効な構文です。値がアポストロフィである必要がある場合、値の周りに重アクセントを置きます。


これらの説明が問題の解決に役立つことを願っています。

于 2012-08-12T02:30:23.887 に答える
2

mysql_close();エラー チェックのおかげで、2 番目の前に があったことがわかりましたmysql_query。私の構文は正しかったのですが、コードの残りの部分を十分にチェックしていませんでした。

于 2012-08-12T13:39:31.710 に答える
1

あなたのid整数ですか?試す

mysql_query("DELETE FROM `table` WHERE id=$id");
于 2012-08-12T02:24:20.443 に答える
0

やってみました:

mysql_query("DELETE FROM table WHERE id=".$id);

あなたは数字(あなたのID)を引用しているかもしれないので、私は尋ねます-そしてあなたはそれをする必要はありません(またはしたくありません)。

これが機能するかどうか教えてください - 私は専門家ではありませんが、それを垣間見るのは初めてです。

于 2012-08-12T02:23:45.187 に答える