我得到了一个非常简单的函数来检查数据库中是否存在电子邮件。它应该返回true
或false
,但它返回1
或0
。
function isUniqueEmail($email){
global $database;
$user_email = $database->prepare("SELECT * FROM users WHERE email=:email LIMIT 1");
$user_email->execute(array('email' => $email));
return ($user_email->rowCount() === 0) ? true : false;
}
会是什么?
使用 print_r 时,它不会像您想象的那样打印(布尔(值。 它将其转换为数字 1 表示真,甚至不转换为假数。 要检查该用途,请使用var_dump
。 所以是的,您的函数返回布尔值,但要检查变量的类型和值,请使用 var_dump
.
正如DataHerder已经指出的那样,问题的原因很可能是布尔值在回显时显示为整数。这是一个例子。