私は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の問題ですか?コードに問題がありますか?