我有一个非常简单的功能来检查数据库中是否存在电子邮件。它应该返回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;
}
它可能是什么?
答案 0 :(得分:2)
使用print_r时,它不会像您想象的那样打印(bool)值。它将它转换为1表示真实,甚至不变为虚假。要检查是否使用var_dump
。所以是的,你的函数返回一个布尔值,但要检查变量的类型和值,请使用var_dump
。
答案 1 :(得分:1)
正如DataHerder已经指出的那样,问题的原因很可能是一个布尔值,当你回显它时它会显示为一个整数。 这是一个 example of that