2014-02-28 113 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)...來轉換。 –