базовый курс

ГРУППА КУРСА

Поиск подстроки

Для поиска подстроки в SQL существует функция LOCATE. Она позволяет найти подстроку в определённом поле таблицы, для того чтобы сделать что-то с записью, содержащей эту подстроку. Запрос с данной функцией может выглядеть так:

SELECT * FROM таблица WHERE LOCATE(подстрока, поле)

Для примера получим все записи из таблицы users, в которых поле inform содержит подстроку "скрипт" и выведем записи на экран:

+
1
2
<?php
header('Content-type: text/html; charset=utf-8');
3
4
5
6
7
8
9
10
11
12
$db=mysqli_connect('localhost', 'root', '', 'mybase');
$query="SELECT * FROM users WHERE LOCATE('скрипт', inform)";
$result=mysqli_query($db, $query);
for ($i=0; $i<mysqli_num_rows($result); $i++)
  {
  $row=mysqli_fetch_assoc($result);
  print_r($row);
  echo '<br>';
  }
mysqli_close($db);

Функцию LOCATE можно использовать не только для выборки но и для других запросов, в которых указываются условия.

Для более сложного поиска подстроки применяется ключевое слово LIKE. Оно позволяет написать шаблон, по которому производится поиск в определённом поле таблицы. Запрос выглядит приблизительно так:

SELECT * FROM таблица WHERE поле LIKE шаблон

В шаблоне кроме текта используются такие символы:

_ - один любой сммвол

% - любое количество символов