语法错误或访问冲突:1064

时间:2014-06-28 02:00:35

标签: php mysql sql database pdo

所以我的问题是我收到此错误

  

致命错误:未捕获的异常' PDOException' with message' SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;查看与您的MySQL服务器版本相对应的手册,以获得正确的语法,以便使用附近的键值(' email @ email',' 6b7d4d69e7595943da5bfb5723ceb3ef2e559275')'在第1行'在/Users/matt/Desktop/Likes/forgot/f.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();

有什么想法吗?我绑定了这两个值,所以我不确定是什么错。我也检查了语法错误,但无法找到。

1 个答案:

答案 0 :(得分:2)

那是因为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();