0

私はDoctrineだけでなくSilexも使用しています。LIMIT値のbindValueが必要になるまでは、すべての点でうまく機能しました。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の問題ですか?コードに問題がありますか?

4

1 に答える 1

5

このコードが名前空間の下のクラスにある場合、これは名前空間の問題ですSilex\Provider

試す

\PDO::PARAM_INT
于 2013-01-11T18:24:32.910 に答える