例えばこんなソースがあったとします。
$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 :search LIMIT :shredded; "; $search = htmlspecialchars('%'.filter_input(INPUT_GET,"searchs").'%'); $shredded = (INT)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();
上記はLIMITが入ってますのでbindValueでやってますが
個人的にはexecuteで一気に割り当てていくやり方をしていたので、一個一個bindValueでやっていくのが気持ち的に嫌といいますか、、、できたらexecuteでできるものはそっちでやりたいです。
下記を試しましたがダメでした。
WHERE title LIKE ? LIMIT :shredded; "; $search = htmlspecialchars('%'.filter_input(INPUT_GET,"searchs").'%'); $shredded = (INT)htmlspecialchars(filter_input(INPUT_GET,"shredded")); $bodys = $pdo->prepare($sql); $bodys -> bindValue(":shredded",$shredded,PDO::PARAM_INT); $bodys -> execute([ $search ]);
executeならexecute
bindValueならbindValue
どっちか1つだけを使わないといけないんでしょうか?
両方使うことは不可でしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/30 02:31