mysql_query(“DELETE FROM table WHERE id - '$ id'”);失败

时间:2012-08-12 02:21:36

标签: php mysql database sql-delete

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

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

4 个答案:

答案 0 :(得分:2)

我知道你试图尝试所有可能的组合,但它有助于了解MySQL语法中具体标点实际意味着什么。

`structure`

Grave重音仅用于列名等结构

'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`");

这是无效的语法。当它应该是撇号时,你会在值周围加上重音符号。


希望这些解释可以帮助您找出问题所在。

答案 1 :(得分:2)

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

答案 2 :(得分:1)

你的id整数?试试

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

答案 3 :(得分:0)

你试过了吗?

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

我问,因为你可能引用了一个号码(你的身份证) - 你不需要(或想要)这样做。

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