2012-10-29 125 views
0

我正在嘗試爲用戶註冊創建一個電子郵件驗證。SQL查詢到phpmyadmin - 語法錯誤

我按照一步一步的指示,但我陷入了一些應該很簡單的事情。

我應該插入以下爲使用MySQL查詢數據庫:

mysql_query("INSERT INTO users (username, password, email, hash) VALUES(
'". mysql_escape_string($name) ."', 
'". mysql_escape_string(md5($password)) ."', 
'". mysql_escape_string($email) ."', 
'". mysql_escape_string($hash) ."') ") or die(mysql_error()); 

我使用WAMP服務器。我去了我的數據庫,選擇表,選擇SQL選項卡後插入上面,點擊去得到的迴應:

「#1064 - 你在你的SQL語法錯誤;檢查手冊,該手冊 對應於你的MySQL服務器版本使用 近 '的mysql_query( 「INSERT INTO的用戶(用戶名,密碼,電子郵件,哈希) VALUES('」。M'位於第1" 行正確的語法

我可以似乎從未插入查詢到phpMyAdmin數據庫沒有得到某種錯誤。我希望有人可以揭示一些這個給我一個外部的看法。

不用說,我會很感激任何輸入。我對此很陌生,並且在我的智慧結尾。

+0

你混合PHP和SQL。 MySQL只能理解SQL部分,而你試圖迫使PHP放下喉嚨。分開您的SQL從PHP – codingbiz

+0

他沒有混合這兩個。 – bikedorkseattle

+0

@bikedorkseattle:他是。請仔細閱讀。 –

回答

1

正如Prash所說,mysql_querymysql_escape_string是除他們名字旁邊的php函數。 當粘貼到phpMyAdmin的SQL選項卡中時,應該刪除表示PHP調用MySQL數據庫的mysql_query(),並將mysql_escape_string調用轉換爲計算出的變量值($ ...)。它應該給你這樣的:

INSERT INTO users (username, password, email, hash) VALUES(
'SampleName', 
md5('SamplePassword'), 
'[email protected]', 
'SampleHash') 

您需要自己如果有特殊字符的值逃脫)

1

你不能在SQL中使用PHP函數。運行PHP代碼而不是

+1

應該是一個評論 –

+0

哎呀,道歉:)! – Prash