Suipedia♪~とらおとルカのおしゃべり広場~

ブログ > PHP > > 【php】LIKE検索のやり方【MySQL】

【php】LIKE検索のやり方【MySQL】

MySQLのLIKE検索で前後両方一致パターンの紹介です。備忘用です。

1.SQLの書き方

 SQLのlike検索は通常

 前方一致:SELECT * FROM hogetable WHERE name like '%name';
 部分一致:SELECT * FROM hogetable WHERE name like '%name%';
 後方一致:SELECT * FROM hogetable WHERE name like 'name%';

・・・のように書くが、phpで行う場合、以下のようなものだけでよい。

前方一致であれ、部分一致であれ、後方一致であれ以下の式を使用する。
		SELECT * FROM hogetable WHERE name like :name;

2.%の付け方

 上記SQLの説明で「:name」としているため、実際の検索ワードは後でマッピングする。そしてそのマッピング値に対し、「%」を付与しておく。

 以下は部分検索の場合。
		/* SQL */
		$sql = SELECT * FROM hogetable WHERE name like :name;
		$stmt = $dbh->prepare($sql);
		
		/* nameのLIKE検索 */
		$name = '検索する名前';
		$name = '%'.$name.'%';
		$stmt->bindParam(':name', $name, PDO::PARAM_STR);
		$stmt->execute();

3.おわりに

たまに使うときにいつも忘れてしまいます。
このエントリーをはてなブックマークに追加

こんな記事もあります。

コメント (0件)

お名前
メッセージ

コメント欄