PHP | MySQLのWHERE句のLIKEで複数の語句を指定、検索する方法
MySQLのWHERE句で複数の語句を指定、検索する方法とPHPのサンプルコードを紹介しています。
確認環境
エックスサーバー
PHP 8.016
id | name | value |
---|---|---|
1 | Apple | 100 |
2 | Pine | 200 |
3 | Banana | 300 |
4 | Orange | 400 |
WHERE句で複数の語句を指定する
// クエリ
$sql = "select * from `table_name` WHERE `name` = 'Apple' OR `name` = 'Banana'";
// クエリを実行
$res = $mysqli->query($sql);
while ($dat = $res->fetch_assoc()) {
echo $dat['id'] . ' ';
}
// 1 3
WHERE句で複数の語句で検索する
LIKE句を利用して、複数の語句でデータの文字列を検索する方法です。
OR検索を指定した場合、いずれかの語句が含まれているデータを取得します。
以下のPHPサンプルコードでは検索語句とした文字列「a」も「b」も含まれているデータ「Apple」「Banana」「Orange」を検出します。
// クエリ
$sql = "select * from `table_name` WHERE `name` LIKE '%a%' OR `name` LIKE '%b%'";
// クエリを実行
$res = $mysqli->query($sql);
while ($dat = $res->fetch_assoc()) {
echo $dat['name'] . ' ';
}
// Apple Banana Orange
AND検索を指定した場合、指定した語句すべてが含まれているデータを取得します。
検索窓などからの検索結果を返す場合は、この方法になるかと想定します。
以下のPHPサンプルコードでは検索語句とした文字列「a」も「b」も含まれているデータ「Banana」を検出します。
// クエリ
$sql = "select * from `table_name` WHERE `name` LIKE '%a%' AND `name` LIKE '%b%'";
// クエリを実行
$res = $mysqli->query($sql);
while ($dat = $res->fetch_assoc()) {
echo $dat['name'] . ' ';
}
// Banana
ディスカッション
コメント一覧
まだ、コメントがありません