【php】 PDOのプリペアドステートメントでLIKE検索
問題
PDOのプリペアドステートメントでLIKE検索したいです。
書き方は?
答え
以下でよい。
$db = new PDO('mysql:host=localhost;dbname=xxxx', 'xxxx', 'xxxx'); $s = $db->prepare("select * from tttt where name like ?"); $s->execute(array('%あ%')); // 部分一致 // 結果確認 var_dump($s->fetchAll()); //他に $s->execute(array('あ%')); // 前方一致 $s->execute(array('%あ')); // 後方一致 $s->execute(array('あ')); // = と同じ。完全一致
以下のような書き方をするとうまくいかない。
$db->prepare("select * from tttt where name like '%?%'");
コメント