我正在尝试通过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)——你不需要(或不想)这样做。
让我知道这是否有效 - 我不是专家,但这是我第一次看到它。