我如何使用 PDO PHP 计算 SQLite3 中受影响的行数?
How can i count affected rows in SQLite3 with PDO PHP?
您好,我正在尝试检查 IP 是否在阻止列表中。
我在 PHP 中使用 SQLite3。我的问题是当尝试检查它下面的函数时 returns 总是正确的。
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;
}
}
使用 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;
}
您好,我正在尝试检查 IP 是否在阻止列表中。 我在 PHP 中使用 SQLite3。我的问题是当尝试检查它下面的函数时 returns 总是正确的。
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;
}
}
使用 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;
}