我有這個腳本(下面),它是爲了更新表中特定行的值。我正在通過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