Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » В чем разница между query и superquery?

В чем разница между query и superquery?


     16.01.2017    Все вопросы » Общие вопросы по PHP    4941

вопрос
В чем разница, и что лучше использовать
$db->query или $db->superquery ?

Ответил: Sander


$sql = $db->query(); - чистый запрос в мускуль, полученные данные нужно будет перебирать циклом
while( $row = $db->get_row( $sql ) ){ //перебираем все полученные строки
 //код для обработки строки, где $row - массив с данными из таблицы
}


$sql = $db->super_query(); - сокращенный вариант от вышеуказанного кода для удобства использования. Код аналогичен:
$db->query("запрос ... LIMIT 0,1"); //получаем только одну строку
$row = $db->get_row(); //получаем данные одной строки в виде массива


$sql = $db->super_query("Запрос",true); - аналогичен $db->query(). только просто $db->query возвращает объект mysql запроса, а тут в $sql будет массив из строк (каждая строка так же массив).

Последний вариант рекомендуется использовать только если данных в таблице не много и/или в дальнейшем эти данные нужны именно в виде массива.

2 комментария

nowheremany
Эксперт

nowheremany - 16 января 2017 09:25 -

$db->super_query(Запрос, TRUE - если нужно получить несколько строк, FALSE - если - 1 строку) обертка для $db->query

Не проще ли исходник посмотреть?

Благодарность принимаю тут Связь

UsurpatorVaticana
Юзер

UsurpatorVaticana - 16 января 2017 18:07 -

Не могли бы пояснить новичку, как отправить запрос true (за несколькими строками), а как false за одной
С точки зрения оптимизации, какая из них меньше нагрузит бд если:
-надо получить значения нескольких столбцов из одной страоки
-количество строк вернувшихся по запросу select.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх