2 where mysql


Выполнить запрос на выборку к базе данных с помощью php и mysql - это, пожалуй, первое, чему учится каждый новичок. Но интересно, что многие из них долгое время так и не знают, как использовать 2 where в mysql. В какой ситуации это может понадобиться?

К примеру, у нас есть таблица в базе данных, структура которой такова: ид, автор, книга. Но у автора же может быть несколько книг, правильно? Поэтому делаем для каждой книги отдельную строку. Но вот нам понадобилось найти определенную книгу. И тут засада: у разных авторов могут совпадать названия (такое в реальности на самом деле бывает и не так уж и редко). Теперь, чтобы найти ид книги, нам требуется сделать выборку одновременно по авторам и по названиям.

Как поступит в этом деле обычный пользователь? Сделает сначала один запрос с where, что-то типа этого:

$ress = mysql_query("SELECT * FROM `upreadru`.`tab` WHERE autor = 'тут  автора имя'") or die (mysql_error());
Затем обработает полученный результат и снова сделает выборку, уже по книгам. Однако есть способ проще:

$ress = mysql_query("SELECT * FROM `upreadru`.`tab` WHERE autor = 'тут  автора имя' AND book = '$тут книги название'") or die (mysql_error());
Это может показаться очевидным программисту со стажем, но новички почему-то нередко думают, что AND использовать невозможно. На самом деле это можно и нужно в mysql. Напоследок небольшой совет. Если у вашего сайта есть доступ к базе с помощью phpMyAdmin, то можно синтаксис для запросов брать прямо оттуда. Например, так:



Вот так просто можно сделать составной запрос без 2 where mysql.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, php, mysql, phpMyAdmin




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.



Теория игр: игроки
RssUp – быстрый rss клиент для фриланса и не только
Как увеличить память на masterhost без смены тарифа