2012-10-29 104 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