嗨,我正在嘗試檢查 IP 是否在阻止串列中。我在 PHP 中使用 SQLite3。我的問題是當嘗試檢查下面的函式時,它總是回傳 true。
function isBlocked($ip){
global $pdo;
$check = $pdo->prepare("SELECT * FROM blockedUsers WHERE ip='".$ip."'");
$check->execute();
if($check->rowCount() >= 1){
return true;
}else{
return false;
}
}
uj5u.com熱心網友回復:
使用SELECT COUNT(*)而不是SELECT *,因為您不關心行資料,只關心計數。
此外,使用引數而不是將變數替換到 SQL 中。
function isBlocked($ip){
global $pdo;
$check = $pdo->prepare("SELECT COUNT(*) AS count FROM blockedUsers WHERE ip=:ip");
$check->execute([':ip' => $ip]);
$row = $check->fetch(PDO::FETCH_ASSOC);
return $row['count'] > 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/437054.html
上一篇:T-SQL:如何為從同一個表中選擇的不同日期范圍回傳單獨的資料列?
下一篇:找到物品最多的位置
