![](/img/trans.png)
[英]SQL query doesn't work when used in prepared statement but does in PhpMyAdmin
[英]Why does this UPDATE prepared statement doesn't work, but works when used in SQL db
我有以下聲明:
$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
bind_param
不接受值,僅接受參數。 您需要使用變量。 就像是:
$stmt->bind_param('iii', $s, $ss, $sss);
$s = 0;
$ss= 61;
$sss = 0;
應該解決它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.