0

我正在使用 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?)一段时间没有问题。

这是教义的问题吗?我的代码有什么问题吗?

4

1 回答 1

5

这是一个命名空间问题,如果此代码位于Silex\Provider命名空间下的类中

尝试

\PDO::PARAM_INT
于 2013-01-11T18:24:32.910 回答