我正在使用 Silex 和 Doctrine。在我需要为 LIMIT 值绑定值之前,它对我来说一切都很好。PDO 的默认行为是在数字周围插入引号,这显然是行不通的。因此,解决方案是设置data_type
参数。不幸的是,它会引发错误。
我的代码
$start_num = 3;
$stmt = $app['db']->prepare('SELECT * FROM myTable LIMIT ?,10');
$stmt->bindValue(1, $start_num, PDO::PARAM_INT);
错误
Fatal error: Class 'Silex\Provider\PDO' not found in ...
我发现的关于这个问题的大多数答案都说这是 PDO 没有被编译/启用的迹象,但是我已经成功使用 Doctrine (它依赖于 PDO?)一段时间没有问题。
这是教义的问题吗?我的代码有什么问题吗?