MySQLi - предложение LIKE
Мы видели SQL SELECTкоманда для извлечения данных из таблицы MySQLi. Мы также можем использовать условное предложение, называемоеWHERE пункт для выбора необходимых записей.
Предложение WHERE со знаком равенства (=) отлично работает там, где мы хотим получить точное совпадение. Например, если "name = 'sai'". Но может быть требование, когда мы хотим отфильтровать все результаты, в которых имя должно содержать «johar». Это можно сделать с помощью SQLLIKE предложение вместе с предложением WHERE.
Если предложение SQL LIKE используется вместе с символами%, тогда оно будет работать как метасимвол (*) в UNIX при выводе всех файлов или каталогов в командной строке.
Без символа% предложение LIKE очень похоже на знак равенства вместе с предложением WHERE.
Синтаксис
Вот общий синтаксис SQL команды SELECT вместе с предложением LIKE для извлечения данных из таблицы MySQLi:
SELECT field1, field2,...fieldN table_name1, table_name2...
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
Вы можете указать любое условие, используя предложение WHERE.
Вы можете использовать предложение LIKE вместе с предложением WHERE.
Вы можете использовать предложение LIKE вместо знака равенства.
Когда LIKE используется вместе со знаком%, он будет работать как поиск по метасимволам.
Вы можете указать более одного условия, используя AND или же OR операторы.
Предложение WHERE ... LIKE может использоваться вместе с SQL-командой DELETE или UPDATE также для указания условия.
Использование предложения LIKE в командной строке
Это будет использовать команду SQL SELECT с предложением WHERE ... LIKE для извлечения выбранных данных из таблицы MySQLi tutorials_inf.
пример
Следующий пример вернет все записи из tutorials_inf таблица, для которой имя автора заканчивается на johar -
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_inf
-> WHERE name LIKE '%johar';
+----+-------+
| id | name |
+----+-------+
| 2 | johar |
+----+-------+
1 row in set (0.00 sec)
mysql>
Использование предложения LIKE внутри PHP-скрипта
Вы можете использовать аналогичный синтаксис предложения WHERE ... LIKE в функции PHP mysqli_query(). Эта функция используется для выполнения команды SQL, а затем другой функции PHP.mysqli_fetch_array() может использоваться для получения всех выбранных данных, если предложение WHERE ... LIKE используется вместе с командой SELECT.
Но если предложение WHERE ... LIKE используется с командой DELETE или UPDATE, то дальнейший вызов функции PHP не требуется.
пример
Попробуйте следующий пример, чтобы вернуть все записи из tutorials_inf таблица, название которой содержит johar -
<?php
$dbhost = 'localhost:3306';
$dbuser = 'root';
$dbpass = '';
$dbname = 'TUTORIALS';
$conn = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname);
if(! $conn ) {
die('Could not connect: ' . mysqli_error());
}
echo 'Connected successfully<br>';
$sql = 'SELECT * FROM tutorials_inf WHERE name LIKE "%johar%"';
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
printf ("%s \n",$row["name"]);
mysqli_free_result($result);
mysqli_close($conn);
?>
Пример вывода должен быть таким -
Connected successfully
johar