2014-02-28 88 views
-1

我没有成功尝试从以下PHP/PDO回调将jQuery/AJAX返回一个布尔值,返回一个布尔值但是只接收空邮件回复邮件是否与数据库行匹配。任何帮助,将不胜感激。谢谢。通过PDO查询

+0

即使计数为零,查询也不会失败,因此该语句将返回true。您需要获取列并检查值。 –

回答

3

SQL语法问题:

$sql = "SELECT COUNT(*)" . 
    "FROM bu_users" . 
    ^--- 
    "WHERE user_email = :email"; 
    ^--- 

你缺乏空间在指定的地点,和您的查询最终看起来像:

SELECT COUNT(*)FROM bu_usersWHERE user_email = :email; 
       ^^--   ^^-- 

不要产生多串状那。做出这样愚蠢的错误太容易了。至少使用HEREDOC

$sql = <<<EOL 
SELECT COUNT(*) 
FROM bu_users 
WHERE user_email = :email 
EOL; 

无需concatentation,自动多行用法,你可以很好地格式化你的SQL也是如此。

+0

POW!谢谢。 –

3
$stmt = $db->prepare("SELECT 1 FROM bu_users WHERE user_email = ?"); 
$stmt->execute(array($_GET['reg_email'])); 
echo json_encode((bool)$stmt->fetchColumn()); 
+0

谢谢。在纠正了Marc指出的错误之后,我使用了你的json_encode((bool)...来转换。 –