[Php] PDO Mysql语法错误1064


Answers

我不认为在SQL中的限制的第一个参数可以是NULL。 如果你只是想要前10个记录,然后使用限制10。

Question

我运行下面的代码:

$conn = new PDO(....);
.... pdo attributes ...

$limitvalue = 0;
$limit = 10;
$sql = $conn->prepare("SELECT * FROM table1 LIMIT ?, ?");
$sql->bindParam(1, $limitvalue, PDO::PARAM_INT);
$sql->bindParam(2, $limit, PDO::PARAM_INT);
$sql->execute();

我得到:

带有消息“SQLSTATE [42000]”的未捕获异常“PDOException”:语法错误或访问冲突:1064您的SQL语法错误; 检查对应于您的MySQL服务器版本的手册,在第1行'NULL,10'附近使用正确的语法

它只发生在这个特定的查询中。 其他一切都可以。

顺便说一句:我知道这可能看起来很愚蠢,我做准备“代码内”的价值观。 但这仅仅是一个例子。 实际上这些值取决于页码,但在这里并不重要,这个查询也给出了相同的错误。

如果有人感兴趣,PHP版本是: 5.3.4RC2和MySQL的是: mysqlnd 5.0.7-dev - 091210 - $ Revision:304625 $