Php 假阳性PDO行计数
我正在尝试测试用户是否使用Php 假阳性PDO行计数,php,pdo,Php,Pdo,我正在尝试测试用户是否使用rowcount激活了他们的帐户。目前它返回一个正值,即使我故意编辑数据库数据失败 我测试了我的SQL,看看这是否是问题所在,它似乎返回了预期的值。我假设这与我的PHP代码有关 try { $db = new Database; $query = "SELECT COUNT(*),accountStatus, email FROM users WHERE email = :email AND accountStatus ='Active'"; $st
rowcount
激活了他们的帐户。目前它返回一个正值,即使我故意编辑数据库数据失败
我测试了我的SQL,看看这是否是问题所在,它似乎返回了预期的值。我假设这与我的PHP代码有关
try
{
$db = new Database;
$query = "SELECT COUNT(*),accountStatus, email FROM users WHERE email = :email AND accountStatus ='Active'";
$stmt = $db->prepare($query);
$stmt->bindValue(':email', $email);
$stmt->execute();
$count = $stmt->rowCount();
}
catch(Exception $e)
{
$errors[] = ["name" => "email", "error" => "Something went wrong contact the administrator or try again later"];
}
if(count($count > 0))
{
return true;
}
else
{
return false;
}
从:
PDOStatement::rowCount()返回受相应PDOStatement对象执行的最后一个DELETE、INSERT或UPDATE语句影响的行数
如果关联的PDO语句执行的最后一条SQL语句是SELECT语句,则某些数据库可能会返回该语句返回的行数。但是,并非所有数据库都能保证这种行为,便携式应用程序不应依赖这种行为。
谢谢,我看看我怎么做