我有一个我正在使用的MySQL数据库,但是当我尝试更新其中的一行时,它不起作用。这是我正在使用的更新代码:
mysql_query("UPDATE offtopic SET next = '$insert' WHERE id = '$id'");
答案 0 :(得分:5)
您的语法是正确的,因此可能是变量或您的字段名称出错。
试试这个:
$sql = "UPDATE offtopic SET next = '$insert' WHERE id = '$id'";
if (!mysql_query($sql)) {
echo "MySQL Error: " . mysql_error() . "<br />" . $sql;
}
这可能会向您展示一些有用的信息,以帮助您进行调试。
答案 1 :(得分:5)
首先,你应该让它更安全一点:
mysql_query(sprintf("UPDATE offtopic SET next = '%s' WHERE id = '%s'",
mysql_real_escape_string($insert),
mysql_real_escape_string($id));
现在,您的id
实际上是字符串,而不是数字?如果是数字,你应该有:
mysql_query(sprintf("UPDATE offtopic SET next = '%s' WHERE id = %d",
mysql_real_escape_string($insert), $id);
答案 2 :(得分:1)
为了热爱互联网,请不要自己构建SQL查询。使用PDO。