Рецепт №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);
