Intereting Posts
Extra Trailing Zero (или отсутствует нуль) Java / PHP Создание объекта JSON с использованием PHP PHP / IOS: какой лучший способ кодировать json для веб-сервиса? Как нажать следующую дату / время на массив, который соответствует текущей дате / времени в массиве? Что происходит быстрее, большой объединенный запрос с большим количеством PHP или несколькими небольшими выборками с меньшим количеством PHP? Как отключить регистрацию нового пользователя в Laravel 5 Расширение PHP с помощью C ++? как использовать fgetcsv со строками сумма дубликатов в массиве php CakePHP: действие выполняется дважды, без уважительной причины удалить последний символ после конкатенации строки вывода для цикла? PHP-скрипт не подключается к базе данных? Медленный скрипт PHP – автоматическая отладка и диагностика? Доступ к файлу, который находится перед / вне корневого каталога сервера? Ошибка SSL: неверный или самозаверяющий сертификат – загрузка изображения Magento в продуктах

Запросить запрос – MySQL и PHP

Недавно я пытался сделать проект *, который заставил меня задать этот вопрос. Хотя с тех пор я нашел альтернативное решение, мне все еще любопытно, что то, что я представляю, возможно, возможно.

По сути, мне интересно, если в любом случае выполнить запрос MySQL на результат запроса MySQL в php. Например:

$result = mysql_query("SELECT * FROM foo WHERE bar=".$barValue); 

И ТОГДА, иметь возможность выполнять несколько запросов в $result :

 $newResult = mysql_query("SELECT * FROM $result WHERE otherBar=".$barValue); 

ИЛИ

 $otherNewResult = mysql_query("SELECT * FROM $result WHERE otherOtherBar=".$barValue." ORDER BY foobar ASC"); 

И так далее и тому подобное…

Я понимаю, что я мог бы добавить исходный запрос с моими новыми WHERE и ORDER BY s, но это заставляет меня без необходимости запрашивать базу данных и мешает мне писать более объектно ориентированный код (потому что я не могу передать результат запросил, но, скорее, должен требовать базу данных в каждой функции …)

Любые советы, фрагменты кода, рамки или штрихи оцениваются.

* BTW, мой проект должен был запрашивать большую базу данных людей для людей, родившихся в определенных возрастных группах, а затем запрашивать эти возрастные группы для разных демографических данных.

редактировать

Нет, написать пользовательскую функцию для запроса базы данных не стоит объектно-ориентированной (и изменчивости), это дало бы мне

Вы можете сделать вложенный запрос в том же SQL-запросе и оставить PHP из него:

 'SELECT * FROM (SELECT * FROM foo WHERE bar="something") AS q1 WHERE q1.bar2 = "something else"' 

На этот вопрос уже был дан ответ. Однако последующее объяснение поможет кому-то, кому может быть интересно узнать подробности об этом.

Что такое вложенный запрос / подзапрос:

Подзапросы также известны как вложенные запросы. Подзапрос – это оператор SELECT в другом выражении. MySQL поддерживает все стандарты SQL и дополнительно предоставляет определенные функции MySQL.

Почему я должен использовать подзапрос:

  1. Подзапрос структурирован, и можно выделить каждую часть заявления
  2. Подзапрос более читабельен тем, что сложные объединения и объединения
  3. Подзапрос предоставляет альтернативные способы выполнения действий, которые в противном случае потребовали бы сложных объединений и объединений

Возврат подзапроса:

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

Ссылка: http://dev.mysql.com/doc/refman/5.7/ru/subqueries.html http://www.w3resource.com/sql/subqueries/nested-subqueries.php