bindValue メソッドを使用した LIMIT 句のエラー
ページネーションを実装しようとした開発者が、bindValue メソッドの使用中に SQL 構文エラーが発生しましたLIMIT句を使用します。クエリは、LIMIT 部分の変数に一重引用符が追加されていることを示すエラーをスローしました。
さらなる調査により、開発者は文書化されている PHP の既知のバグ (バグ ID 44639) との潜在的な関係を発見しました。このバグは、PDO が LIMIT 内の非文字列変数に自動的に引用符を追加している可能性を示唆しています。
解決策:
この問題を解決する解決策は、値をバインド関数に渡す前に整数にキャストすることで提供されました。この変更により、SQL ステートメントは変数を正しく解釈し、構文エラーなしでクエリを実行できるようになります。更新されたコード スニペットは次のようになります:
$fetchPictures->bindValue(':skip', (int) trim($_GET['skip']), PDO::PARAM_INT);
以上がPDO が LIMIT 句の変数に引用符を追加するのはなぜですか? それを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。