2012-12-30 21 views
1

我得到一個錯誤,這個查詢:SQL查詢,得到錯誤無法修復

"SELECT username 
and password 
FROM users 
WHERE username = $email , password = $password" 

它返回這個錯誤:

Error 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''users' WHERE username = $email , password = $password LIMIT 0, 30' at line 1

+0

#1064 - 你的SQL語法錯誤;檢查與您的MySQL服務器版本對應的手冊,以便在第1行的''用戶'WHERE username = $ email,password = $ password LIMIT 0,30'處使用正確的語法 –

+0

有趣...錯誤消息顯示LIMIT子句,但這裏發佈的查詢不顯示該子句。我相信這個查詢是不正確的,但我想知道在同一個腳本中是否有其他不正確的查詢? –

回答

0

SELECT username,password FROM users WHERE username=$email AND password=$password

5

約$看跌行情電子郵件和$密碼。在WHERE子句中使用AND代替逗號。更多的東西是這樣的:

$sql = "SELECT username, password 
FROM users 
WHERE username = '$email' AND password = '$password' LIMIT 1" 
; 
+0

這工作。謝謝 –

+0

如果您是新手,可能會喜歡本書:http://www.sitepoint.com/books/phpmysql5/ –

2

您使用,而不是和

"SELECT username ,password 
    FROM users 
     WHERE username = $email and password = $password" 
+0

-1 - Select語句錯誤。你不要在列選擇器中使用'和'。 – webnoob

+0

我沒有看到我的錯誤 –

+0

縮小,感謝排序。 – webnoob

0

使用此:

"SELECT username, password 
FROM users 
WHERE username = '$email' AND password = '$password'" 

列名必須用逗號分隔,並且字符串值引號之間。

0

引用文本參數。

如果可能的話,使用準備好的語句。爲了避免注射問題,這些更爲明智。