SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【php】 PDOのプリペアドステートメントでLIKE検索

問題

PDOのプリペアドステートメントでLIKE検索したいです。

書き方は?

php

答え

以下でよい。

$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 '%?%'");

関連するメモ

コメント