Мы видели команду SQL SELECT для извлечения данных из таблицы MySQLi. Мы также можем использовать условное предложение WHERE для выбора необходимых записей.
Предложение WHERE со знаком равенства (=) прекрасно работает там, где мы хотим получить точное совпадение. Например, если «name = ‘sai'». Но может быть требование, когда мы хотим отфильтровать все результаты, где имя должно содержать «johar». Это можно сделать с помощью предложения SQL LIKE вместе с предложением 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 также для указания условия.
Вы можете указать любое условие, используя предложение 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 Script
Вы можете использовать похожий синтаксис предложения 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); ?>
Пример вывода должен быть таким: