質問: $pdo->prepare("SELECT * FROM `hogehoge` ORDER BY `id` DESC LIMIT :page, :limit"); $st->bindValue(":page", $page, PDO::PARAM_INT); $st->bindValue(":limit", $maxResult, PDO::PARAM_INT); if($st->execute()){ echo json_encode($st->fetchAll(PDO::FETCH_ASSOC)); }else{ sendError("failure"); } ```
回答: 以前同じ挙動でハマった事がありますが、LIMIT句へのバインドは整数型でなければならなかったはずです。 PDO::PARAM_INTも必要ですが、$_GETや$_POSTで取得したパラメータは文字列として変数に格納されますので、 bindValue(":page", (int)$page, PDO::PARAM_INT)やintvalを使って整数型へキャストさせると取得出来るかと思われます。