我运行以下代码:
$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();
Run Code Online (Sandbox Code Playgroud)
我得到:
未捕获的异常 'PDOException' 带有消息 'SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的“NULL, 10”附近使用的正确语法
它只发生在这个特定的查询中。其他一切正常。
顺便说一句:我知道我为“代码中”值准备语句可能看起来很愚蠢。但这只是一个例子。事实上,这些值取决于页码,但在这里无关紧要 - 此查询也给出了相同的错误。
如果有人感兴趣,PHP 版本是:5.3.4RC2,而 MySQL 是:mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $