-2

我正在尝试检查我们的数据库中是否已经存在电子邮件。

var_dump($email);
output: array(2)
{
   [0]=> string(22) "xxxx7@gmail.com"
   [1]=> string(19) "yyyyy@gmail.com"
}
foreach($email as $em)
{
   $sql = "SELECT * 
   from sf_guard_user sf,personal pi
   where pi.user_id = sf.id
   and sf.email_address = '$em'";   
   $query = $db->prepare($sql);
   $query->execute();
   $alreadyexist[$count++] = $query->fetchAll();
}

这两封邮件存在于我们的数据库中,但结果只包含一个数组。

我的foreach循环有什么问题?

4

1 回答 1

0

您需要使用store_result然后num_rows

 $query = $db->prepare($sql);
 $query->execute();
 $query->store_result();
 if($query->num_rows > 0){
     // exists
 }
 $query->close();

查看此链接以了解更多信息

于 2013-04-26T03:34:03.057 回答