如何在PHP中更新MySQL行?

chu*_*tar 1 php mysql

我有一个我正在使用的MySQL数据库,但是当我尝试更新其中的一行时,它不起作用.这是我正在使用的更新代码:

mysql_query("UPDATE offtopic SET next = '$insert' WHERE id = '$id'");
Run Code Online (Sandbox Code Playgroud)

nic*_*ckf 5

你的语法是正确的,所以它可能是变量或你的字段名称的错误.

试试这个:

$sql = "UPDATE offtopic SET next = '$insert' WHERE id = '$id'";
if (!mysql_query($sql)) {
    echo "MySQL Error: " . mysql_error() . "<br />" . $sql;
}
Run Code Online (Sandbox Code Playgroud)

这可能会向您展示一些有用的信息来帮助您进行调试.


var*_*tec 5

首先,你应该让它更安全一点:

mysql_query(sprintf("UPDATE offtopic SET next = '%s' WHERE id = '%s'",
            mysql_real_escape_string($insert),
            mysql_real_escape_string($id));
Run Code Online (Sandbox Code Playgroud)

现在,你的id实际是字符串,而不是数字?如果是数字,你应该更喜欢:

mysql_query(sprintf("UPDATE offtopic SET next = '%s' WHERE id = %d",
            mysql_real_escape_string($insert), $id);
Run Code Online (Sandbox Code Playgroud)