Suipedia

ツイッター始めてみました 掲示板はこちら

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

■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;
		

■%の付け方

 上記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();
		
コメント(投稿内容は承認後に表示されます)
お名前
コメント

コメント

↑ PAGE TOP