Prepared Statement在if上总是返回0



我正试图从SQL:中获取计数

function sqlCheckUserExists() 
{
$sql = "SELECT COUNT(*) FROM users WHERE email = ? LIMIT 1;";
$stmt = $conn->prepare($sql);

$stmt->bind_param("s", $email);
$stmt->execute();   
$stmt->store_result();  
$stmt->bind_result($count);
if($count === 1 OR $count > 0)
{
return true;
} 
elseif($count === 0) 
{
return false;
}
$stmt->close(); 
}

并称之为:

if (sqlCheckUserExists) {
echo json_encode(array("statusCode"=>201));
} else {
echo json_encode(array("statusCode"=>202));
}

查询很好。我只想知道邮件是否已经在表中。

作为回应,我总是得到";状态代码:201〃="0";或";false";。

您错过了fetch((

$stmt->fetch();

$conn也是

function sqlCheckUserExists($conn) 
{
$sql = "SELECT COUNT(*) FROM users WHERE email = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $email);
$stmt->execute();   
$stmt->store_result();  
$stmt->bind_result($count);
$stmt->fetch();
$stmt->close();  // close it before return
return $count > 0; // returns true if count is more than zero else false

}
if (sqlCheckUserExists($conn)) {
}

最新更新