我正在使用此代码插入数据库,但由于某种原因它现在给我一个错误。当它是数字时,有什么需要做的吗?
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();
答案 0 :(得分:3)
replace
是reserved word,需要使用反引号进行转义。
INSERT INTO TRIPLECROWNscratch (user_id, original, `replace`, pick) VALUES ...