PHP PDO插入问题


PHP PDO Insert problem

我在PDO中遇到了瓶颈:

$q = $dbh->prepare('INSERT INTO grant (grant_name, update) VALUES (?,?)');
$q->bindParam(1, $grant_name, PDO::PARAM_STR);
$q->bindParam(2, $update, PDO::PARAM_STR);
$q->execute();

我得到一个错误:

 PHP Warning:  PDOStatement::execute(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; 

但是我找不到问题。我尝试过使用占位符(如:grant_name)和问号(?)。

GRANTUPDATE在SQL中都有特定的含义。试试这个:

$q = $dbh->prepare('INSERT INTO `grant` (`grant_name`, `update`) VALUES (?,?)');

列名称为UPDATE似乎是您的问题。尝试引用列名(或者将列名更改为非保留字)。