我的函数应返回包含'$ email'等电子邮件的行数。但乳清一直返回0,虽然在数据库中我有电子邮件行,就像我在变量'$ email'中插入一样。可能是什么原因?
function checkMail($email){
$email = mysql_real_escape_string($email);
$sql = "SELECT COUNT(*) FROM users WHERE email='$email'";
return mysql_query($sql);
}
答案 0 :(得分:0)
function checkMail($email){
$email = mysql_real_escape_string($email);
$sql = "SELECT COUNT(*) FROM users WHERE email='$email'";
$resource=mysql_query($sql);
$row=mysql_fetch_array($resource);
return $row[0];
}
答案 1 :(得分:0)
您没有返回结果,而是返回查询资源:
function checkMail($email){
$email = mysql_real_escape_string($email);
$sql = "SELECT COUNT(*) as emailCount FROM users WHERE email='$email'";
$query = mysql_query($sql) or die(mysql_error()); // show error if one happens
return mysql_fetch_assoc($query);
}
这将返回一个包含结果的关联数组(如果成功),您应该可以通过以下方式访问您的计数:
$res = checkMail('your@email.com');
$count = $res['emailCount'];
不推荐使用旁注:
mysql
个函数,您应该使用mysqli
或PDO
语法:
https://stackoverflow.com/a/13944958/2812842
答案 2 :(得分:-1)
要获取计数,请使用:
mysql_query($sql)
$row = mysql_fetch_assoc($result);
return($row[0]);
有趣的是mysql_query返回0,表示查询失败。使用以下命令检查相应的错误消息:
echo mysql_error();