2014-04-05 104 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();