我已經查看了幾次,找不到一個原因,爲什麼它不應該工作,希望有人能夠透露我錯過了什麼,這是我準備好的聲明。準備好的mysqli語句中的sql IF語句
在初始化準備好的語句後直接在$query
上執行var_dump
時,它返回false。
$query = $link->prepare("IF (EXISTS(SELECT * FROM banned WHERE ipAddr=? OR uid=?)) THEN UPDATE banned SET isBanned='1', ipAddr=?, uid=?, bannedAt=NOW(), reason=? WHERE ipAddr=? OR uid=? ELSE INSERT INTO banned (isBanned, ipAddr, uid, bannedAt, reason) VALUES('1', ?, ?, NOW(), ?) END IF");
$query->bind_param("sisissisis", $details['IP'], $details['uid'], $details['IP'], $details['uid'], $details['reason'], $details['IP'], $details['uid'], $details['IP'], $details['uid'], $details['reason']);
表結構
banned
------
id, uid, ipAddr, bannedAt, reason, isBanned
注意:如果這不是來達到同樣的結果,那麼最好的辦法,請提供一個建議
乾淨多了藏漢謝謝:) – Ciaran