mysql_query(“从 id-'$id'的表中删除”);失败


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

我正在尝试通过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是唯一标识符,我已经回显了它以确保它出现。 使用"或死亡"会导致死亡。 这一行根本不会消失。

我应该尝试任何其他语法吗?

我知道

您正在尝试每种可能的组合,但是了解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`");

这是无效的语法。你在值周围加上了严重的重音,而它应该是撇号。


希望这些解释能帮助您找出问题。

错误检查帮助我发现我在第二次mysql_query之前有一个mysql_close();。 我的语法是正确的,我只是没有足够仔细地检查代码的其余部分。

你的id是整数吗?尝试

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

你试过吗:

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

我问是因为你可能引用了一个数字(你的ID)——你不需要(或不想)这样做。

让我知道这是否有效 - 我不是专家,但这是我第一次看到它。