Рецепт №119. Из книги «128 рецептов php»
Перейти к оглавлению
В прошлом рецепте было реализовано получение всех записей из таблицы. Такие запросы в реальном мире встречаются крайне редко, поскольку практически всегда необходимо получить данные соответствующие определенному условию, например, всех пользователей с фамилией «Иванов». Чтобы добавить условие в SQL-запрос, нужно дописать в него оператор WHERE:
SELECT * FROM `tbl_users` WHERE `last_name` = "Иванов"
Помимо жесткого сравнения, можно реализовать условие, при котором выборка будет реализована по тем пользователям, чья фамилия оканчивается на «ов». Для этого вместо знака «=» необходимо задать оператор LIKE. Он осуществляет поиск по маске, которая собирается из различных модификаторов, самый распространённый из них «%» — обозначает, что на его месте может быть любое количество любых символов. Таким образом, запрос будет выглядеть вот так:
SELECT * FROM `tbl_users` WHERE `last_name` LIKE "%ов"
Пример:
// предварительно, необходимо реализовать // подключение к базе данных // запрос // при ошибке остановим скрипт и выведем ошибку $query = mysql_query(" SELECT * FROM `tbl_users` WHERE `last_name` LIKE '%ов' ") or die(mysql_error()); // получение результата запроса $result = array(); while($row = mysql_fetch_array($query, MYSQL_ASSOC)){ $result[] = $row; } // вывод результата print_r ($result);