我有这个脚本(下面),它是为了更新表中特定行的值。我正在通过ID进行搜索,该ID被设置为自动递增的主键整数。当我运行这个脚本时,行不会更新 - 相反,会创建一个全新的行。当我运行更新命令时,SQL创建新行
下面的代码:
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
$id = $_POST['id'];
$certLevel = $_POST['certlevel'];
$sql = "UPDATE jcontact SET certlevel='$certLevel' WHERE id=$'id'";
if (!mysql_query($sql)) {
die('Error: ' . mysql_error());
}
mysql_close();
为什么你用'id = $'id''? –
看看'$'id''。这是你为什么应该停止使用'mysql_ *'函数并更新到'mysqli'或'PDO'并使用准备/参数化语句的一个很好的例子。 – Sean