我正在尝试为用户注册创建电子邮件验证。
我正在按照逐步说明进行操作,但我陷入了一些本应非常简单的事情中。
我应该使用 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 - 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 'mysql_query("INSERT INTO users (username, password, email, hash) VALUES( '". m' at line 1"
我似乎永远无法在不出现某种错误的情况下将查询插入 phpMyAdmin 数据库。我希望有人能够阐明这一点,让我有一个外部视角。
不用说,我将不胜感激任何意见。我对此很陌生,而且束手无策。
最佳答案
正如Prash所说,mysql_query
和mysql_escape_string
除了它们的名字之外都是php函数。
当粘贴到 phpMyAdmin 的 SQL 选项卡时,您应该删除代表 PHP 对 MySQL db 的调用的 mysql_query() 并将 mysql_escape_string 调用转换为变量的计算值 ($...)。它应该给你类似的东西:
INSERT INTO users (username, password, email, hash) VALUES(
'SampleName',
md5('SamplePassword'),
'SampleEmail@example.com',
'SampleHash')
如果value中有特殊字符需要自行转义)
关于php - 对 phpmyadmin 的 SQL 查询 - 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13130622/