【问题标题】:SQL query into phpmyadmin - error in syntaxSQL查询到phpmyadmin - 语法错误
【发布时间】:2012-10-29 22:32:13
【问题描述】:

我正在尝试为用户注册创建电子邮件验证。

我正在按照分步说明进行操作,但我陷入了本应非常简单的事情。

我应该使用 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选项卡后插入上面,点击go得到响应:

"#1064 - 您的 SQL 语法有错误;请查看手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 'mysql_query("INSERT INTO 用户(用户名、密码、电子邮件、哈希) VALUES('".m' 在第 1 行"

我似乎永远无法将查询插入到 phpMyAdmin 数据库中而不会出现某种错误。我希望有人能对此有所了解,让我有一个外部的看法。

不用说,我将不胜感激任何意见。我对此并不陌生,而且不知所措。

【问题讨论】:

  • 您正在混合使用 PHP 和 SQL。 MySQL 只了解 SQL 部分,而您正试图强迫 PHP 进入它的喉咙。将您的 SQL 与 PHP 分开
  • @bikedorkseattle:他是。请仔细阅读。
  • @MatM 是的,我注意到现在标题已更改。我的坏:)

标签: php mysql


【解决方案1】:

正如 Prash 所说,mysql_querymysql_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') 

值中有特殊字符需要自行转义)

【讨论】:

    【解决方案2】:

    您不能在 SQL 中使用 PHP 函数。改为运行 PHP 代码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 2016-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多