1
我正在嘗試在我的網站中進行就地編輯。 現在我設置了所有我需要的東西。 當用戶點擊提交時,它會發送div
元素的id
(什麼樣的內容)和要更新的新值。到位編輯更新文本
這裏是我的代碼:
if($pedit = $mysqli->prepare("UPDATE `accounts` SET ? = ? WHERE `id`= ? ")){
$pedit->bind_param("sss", $id, $value, $_SESSION["user_id"]);
$pedit->execute();
$pedit->free_result();
$pedit->close();
}
我不知道爲什麼它不更新信息。 $id
=改變的行:描述,全名,電子郵件等。 $value
=有關$id
的新信息。用戶可以更新其個人資料信息。
該代碼不會顯示任何類型的錯誤,但仍不會更新。
它不起作用,因爲您不允許使用'?'佔位符代替_column或table_標識符。它們只能用於標量值(這些值_assigned_到列) – 2014-12-03 19:32:54
因此,對於您的輸入變量'$ id',您不能使用佔位符。相反,您必須將該變量放入查詢中(您試圖通過使用'prepare()/ bind_param()/ execute()'來避免),但是您可以首先使用可接受的可能列名進行驗證。我正在尋找一個解釋它的現存問題 - 這經常被問到...... – 2014-12-03 19:34:36