当值是数字时,MySQL INSERT查询错误

时间:2015-01-26 08:33:58

标签: mysql

我正在使用此代码插入数据库,但由于某种原因它现在给我一个错误。当它是数字时,有什么需要做的吗?

  

SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;查看与MySQL服务器版本对应的手册,以便在第1行“替换,选择”VALUES('8','1','6','1')附近使用正确的语法

$sql = "INSERT INTO TRIPLECROWNscratch (user_id, original, replace, pick) VALUES (:user_id, :original, :replace, :pick)";
        $stmt = $dbh->prepare($sql);
        $stmt->bindValue(':user_id', $_POST['user_id'], PDO::PARAM_INT);
        $stmt->bindValue(':original', $_POST['original'], PDO::PARAM_INT);
        $stmt->bindValue(':replace', $replace, PDO::PARAM_INT);
        $stmt->bindValue(':pick', $_POST['pick'], PDO::PARAM_INT);
        $stmt->execute();

1 个答案:

答案 0 :(得分:3)

replacereserved word,需要使用反引号进行转义。

INSERT INTO TRIPLECROWNscratch (user_id, original, `replace`, pick) VALUES ...