SELECT id, content, date
FROM comment
WHERE post = ?
ORDER BY date DESC
LIMIT ?, ?
PDO(Apache 2.2.21、PHP 5.3.6、およびMySQL 5.5.9を使用しているMAMP 2.0.5を使用しています)は、私が質問を変更すると、仕事は、準備文付きのMySQLのLIMITキーワード
LIMIT 0, 10
それは動作します。
これは以前のバージョンのバグだと私はMySQLのバグに見ていますが、これがまだ修正されるかどうかはわかりません。
これでも問題が解決しない場合は、別の方法で行の範囲を選択する方法がありますか?
コード:
$comments = $db->prepare($query);
/* where $db is the PDO object */
$comments->execute(array($post, $min, $max));
どのようにパラメータをバインドしますか? – alexn
'LIMIT'句に代入している値を'(int) 'にキャストし、それらを文字通りクエリに指定することで回避できます。これは、何かを壊すような方法で回避することはできませんsanitisationのステップです、有効な整数表現ではない文字列は '0'になります。最悪のシナリオでは、結果は得られません。 – DaveRandom
$ comments = $ db-> prepare($ query);/*ここで$ dbはPDOオブジェクトです。*/$ comments-> execute(array($ post、$ min、$ max)); – genesisxyz