编辑1:这不是关于LIMIT,这是关于传递一个整数。另一个需要传递数字的函数是IN
编辑 2:我应该使用 PDO::PARAM_INT 吗?
$query .= ' LIMIT ? , ? ';
$values [] = $offset ;
$values [] = $rows ;
在这一行:
$db->fetchAll ( $query , $values);
而不是执行:
SELECT ....... LIMIT 0 , 10;
它尝试执行:
SELECT ....... LIMIT '0' , '10';
导致错误:错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在 ''0' ,'10'' 附近使用的正确语法
limit 选项。.
注2.有一个相关的问题注3。我尝试过:$values [] = intval($offset)
,
$values [] = (int)$offset
,甚至是整数:
$values [] = 10
both intval
和
PDO::PARAM_INT
- 它们都不能单独使用。在我的 PDO 包装器中,我修复了这个问题,允许第一个代码无错误地运行,但我怀疑您是否会费心为您的框架实现它