【问题标题】:Syntax error or access violation: 1064 [duplicate]语法错误或访问冲突:1064 [重复]
【发布时间】:2014-08-19 05:15:36
【问题描述】:

所以这是我的问题,我收到了这个错误

致命错误:未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在 /Users/matt/Desktop/Likes/forgot/f 的第 1 行的“key) VALUES ('email@email' , '6b7d4d69e7595943da5bfb5723ceb3ef2e559275')' 附近使用正确的语法.php 在第 39 行

尝试运行此代码时

$gen = $con->prepare("INSERT INTO reset (user, key) VALUES (:user , :key)");
$gen->bindValue(':user', $username, PDO::PARAM_STR);
$gen->bindValue(':key', $token, PDO::PARAM_STR);
$gen->execute();

有什么想法吗?我绑定了这两个值,所以我不确定出了什么问题。我还检查了语法错误,但找不到任何错误。

【问题讨论】:

    标签: php mysql sql database pdo


    【解决方案1】:

    那是因为key 是保留字。您要么需要添加反引号,要么选择其他名称。您可以查看所有保留字here。所以这就是你的最终代码应该是这样的

    $gen = $con->prepare("INSERT INTO reset (user, `key`) VALUES (:user , :key)");
    $gen->bindValue(':user', $username, PDO::PARAM_STR);
    $gen->bindValue(':key', $token, PDO::PARAM_STR);
    $gen->execute();
    

    【讨论】:

      猜你喜欢
      • 2017-10-08
      • 2015-10-12
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 2017-10-29
      • 2018-06-28
      相关资源
      最近更新 更多