下記のLIMITのところは元々は手動で15に設定していました。
(とりあえずテストのため)
例えば、賃貸住宅サイトの物件検索ページがあったとします。
表示件数をセレクトボッスクで選択してその値を下記のようにLIMITのプレースホルダーに割り当てたいのでですがどうもうまくいきません。
$sql = " SELECT a.`id`, a.`title`, a.`area`, a.`buildingtype`, a.`floorplan`, a.`rento`, a.`deposit`, a.`keymoney`, a.`body`, a.`created`, a.`modified`, c.`companyName` FROM articles a INNER JOIN users u ON a.`user_id` = u.`id` INNER JOIN companys c ON u.`company_id`= c.`id` WHERE title LIKE ? LIMIT ? "; $search = htmlspecialchars('%'.filter_input(INPUT_GET,"searchs").'%'); $shredded = htmlspecialchars(filter_input(INPUT_GET,"shredded")); $bodys = $pdo->prepare($sql); $bodys->execute([ $search, $shredded ]);
下の2つも試しましたがどうもうまくいきません。
解決策となにがいけないのかを教えていただけないでしょうか。
WHERE title LIKE ? LIMIT ? "; $search = htmlspecialchars('%'.filter_input(INPUT_GET,"searchs").'%'); $shredded = htmlspecialchars(filter_input(INPUT_GET,"shredded")); $bodys = $pdo->prepare($sql); $bodys = bindValue(1, $search, PDO::PARAM_STR); $bodys = bindValue(2, $shredded, PDO::PARAM_INT); $bodys->execute();
WHERE title LIKE :search LIMIT :shredded "; $search = htmlspecialchars('%'.filter_input(INPUT_GET,"searchs").'%'); $shredded = htmlspecialchars(filter_input(INPUT_GET,"shredded")); $bodys = $pdo->prepare($sql); $bodys = bindValue(':search', $search, PDO::PARAM_STR); $bodys = bindValue(':shredded', $shredded, PDO::PARAM_INT); $bodys->execute();
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/30 02:32
2016/08/30 02:35
2016/08/30 02:38
2016/08/30 02:43