2014-04-05 131 views
0

出於某種原因,我無法使UPDATE工作,經過數小時的搜索後,我似乎無法找到工作代碼。MySQLi更新不起作用。

$stmt = $con->prepare("UPDATE user_settings SET accept_emails = ? WHERE user= '$user'"); 
$stmt->bind_param('s', '0'); 
$stmt->execute(); 
$stmt->close(); 

試圖通過Ajax進行更新時,一直返回500個服務器錯誤。我應該只使用舊的MySQL方式嗎?

+1

檢查您的錯誤日誌的更多細節! –

+6

爲什麼你使用'bind_param'作爲文字,而不是變量?這是倒退! – Barmar

+2

@Brian沒有看到你的代碼的其餘部分,很難告訴你什麼是錯誤的**除非你檢查'error_log'並告訴我們在那裏顯示什麼錯誤。** – Prix

回答

1

我很確定你不能在僅綁定變量中使用文字。 這是你應該使用的。

$var="0"; 

$stmt = $con->prepare("UPDATE user_settings SET accept_emails = ? WHERE user=?"); 
$stmt->bind_param('ss',$var,$user); 
$stmt->execute(); 
$stmt->close();