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 是唯一标识符,我已经附和它以确保它出现。使用“或死亡”会导致死亡。该行根本不会消失。

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

4

4 回答 4

2

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

于 2012-08-12T13:39:31.710 回答
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 回答
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);

我问是因为您可能引用了一个数字(您的身份证) - 而您不需要(或不想)这样做。

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

于 2012-08-12T02:23:45.187 回答