MySQL PHP DELETE在这个实例上不起作用?

时间:2012-09-11 23:00:55

标签: php mysql linux

mysql_query($sqlQ, $connection);
mysql_query("DELETE FROM Leaderboards WHERE UserName=" . $row['UserName'] . " LIMIT 1", $connection);
echo("Success3");

表信息包括:{UserName,Cash,Assets}。

$ row ['UserName']包含数据,因为$ row ['Assets']有数据,INSERT通过查询工作,但它不会从db表中删除该行。

告诉我我做错了什么,这是我第一次使用PHP& MySQL所以我不知道我在做什么。

2 个答案:

答案 0 :(得分:2)

UserName是一个字符串吗?你错过了引号。

mysql_query("DELETE FROM Leaderboards WHERE UserName='" . $row['UserName'] . "' LIMIT 1", $connection);

答案 1 :(得分:1)

不推荐使用所有mysql_ *函数,将在以后的PHP版本中删除它们。 You should use an alternative

您必须转义查询中使用的数据。使用MySQLi函数,您的代码将是:

mysqli_query($sqlQ, $connection);
mysqli_query("DELETE FROM Leaderboards WHERE UserName='" . mysqli_real_escape_string($connection, $row['UserName']) . "' LIMIT 1", $connection);
echo("Success3");

您还缺少用户名附近的引号。

我建议不要,但如果你真的想使用mysql_ *函数,那么使用:

mysqli_query("DELETE FROM Leaderboards WHERE UserName='" . mysql_real_escape_string($row['UserName']) . "' LIMIT 1", $connection);