我正在将一个旧的登录脚本从mysql_query转换为pdo,我有点挣扎
我想要做的就是找出数据库中是否存在电子邮件!
我的代码
public function doesEmailExist($userEmail)
{
$db = new PDO('mysql:host=localhost;dbname=servershop', 'user', 'pass');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $db->prepare("SELECT COUNT(`uid`) FROM `user` WHERE `email`= ?");
$stmt->bindValue(1, $userEmail);
try
{
$stmt->execute();
$rows = $stmt->fetchColumn();
if($rows == 1)
{
return true;
}
else
{
return false;
}
}
catch (PDOException $e)
{
die($e->getMessage());
}
}
无论表中是否存在电子邮件,代码始终返回true?
有没有一种简单的方法可以像sql中的count_rows那样执行此操作?
答案 0 :(得分:1)
改变这个:
$rows = (int) $stmt->fetchColumn();
它应该有用。