我有以下声明:
$stmt = $con->prepare("UPDATE accounts SET loggedin = ? WHERE TIMESTAMPDIFF(SECOND,lastcheck, NOW()) >= ? AND loggedin = ?");
$stmt->bind_param('iii', 0, 61, 0);
它给出500 internal server error
。当我在运行这样的sql的phpmyadmin上尝试相同时:
UPDATE accounts SET loggedin = 0 WHERE TIMESTAMPDIFF(SECOND,lastcheck, NOW()) >= 61 AND loggedin = 1
工作正常。
我的问题在哪里?
这是我的错误:
PHP致命错误:未捕获错误:无法通过引用传递参数2
答案 0 :(得分:2)
bind_param
不接受值,仅接受参数。您需要使用变量。像这样:
$stmt->bind_param('iii', $s, $ss, $sss);
$s = 0;
$ss= 61;
$sss = 0;
应该解决它。