2013-01-11 25 views
0

我使用Silex以及Doctrine。它对我来说都非常有用,直到我需要将ValueValue绑定为LIMIT值。 PDO的默认行为是在数字周围插入引号,这显然不可行。所以,解决方法是设置data_type参数。不幸的是,它会抛出一个错误。未找到类'Silex Provider PDO'。怎么解决?

我的代码

$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?)成功一段时间,没有任何问题。

这是一个与教义问题?有没有我做错了我的代码?

回答

5

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

尝试

\PDO::PARAM_INT 
+1

我是欢迎您! – Pete