我正在使用 Silex 和 Doctrine。在我需要为 LIMIT 值绑定(bind)值之前,它对我来说非常有用。 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?)一段时间没有问题。
这是 Doctrine 的问题吗?我的代码有什么问题吗?
最佳答案
这是一个命名空间问题,如果这段代码在 Silex\Provider
命名空间下的类中
尝试
\PDO::PARAM_INT
关于mysql - 找不到类 'Silex\Provider\PDO'。怎么解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14284010/