0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 9

Обработка функцией "mysqli_query" запросов с DESC LIMIT

23.03.2020, 22:11. Показов 702. Ответов 5

Студворк — интернет-сервис помощи студентам
Всем привет. Такой нубский вопрос. Есть таблица MySQL, в которой есть столбец с цифрами. Столбец я сортирую по убыванию и пытаюсь получить первые три строки через команду:
PHP
1
$a = mysqli_query ($link, "SELECT column1, column2, column3, FROM table_name ORDER BY column3 DESC LIMIT 3");
Но в массиве оказывается только одна, самая верхняя строка. Две другие не попадают. И неважно, пропускается результат через fetch_assoc или нет. Хотя в самой БД на чистом SQL работает нормально и извлекаются нужные три строки.
В итоге пришлось вытаскивать каждую строку по отдельности через три запроса вида:
PHP
1
2
3
$a = mysqli_query ($link, "SELECT column1, column2, column3, FROM table_name ORDER BY column3 DESC LIMIT 1, 1");
$b = mysqli_query ($link, "SELECT column1, column2, column3, FROM table_name ORDER BY column3 DESC LIMIT 2, 1");
$c = mysqli_query ($link, "SELECT column1, column2, column3, FROM table_name ORDER BY column3 DESC LIMIT 3, 1");
Поэтому вопрос. В чем причина всего этого? Это особенности работы mysqli_query и интерпретатора, или я что то не так делаю?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.03.2020, 22:11
Ответы с готовыми решениями:

Как DESC LIMIT 3 вывести в цикле нарастающей а не по убыванию
Это выводит по убыванию а мне надо нарастающей, например в базе 100 записей сейчас выводит 100,99,98 а мне надо 98,99,100. база постоянно...

Как написать на Вордпрессе такую же сортировку order by id desc LIMIT $start, $num ?
Есть пагинация страниц для сайта без Вордпресса Кусок кода пагинации--тут задается сортировка запроса order by id desc LIMIT $start,...

Запрос рабочий но mysqli_query выдает ошибку Warning: mysqli_query(): Couldn't fetch mysqli in [Мой_Файл]
Фой код генерирует запрос INSERT INTO `users`(`login`, `email`, `password`, `lname`, `fname`, `mname`, `address`) VALUES ('user',...

5
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
23.03.2020, 23:38
Цитата Сообщение от KotAzin Посмотреть сообщение
И неважно, пропускается результат через fetch_assoc или нет
PHP
1
2
3
while ($res = $a->fetch_assoc()) {
  echo $res['column1'], ' ', $res['column2'], ' ', $res['column3'], '<br>';
}
1
13 / 9 / 4
Регистрация: 30.03.2015
Сообщений: 28
23.03.2020, 23:49
Лучший ответ Сообщение было отмечено KotAzin как решение

Решение

Приведите весь код.

У меня код вида:

PHP
1
2
3
4
5
6
7
8
9
$link = mysqli_connect("localhost", "root", "", "myblog");
 
$result = mysqli_query($link, "SELECT * FROM users ORDER BY id DESC LIMIT 3");
 
$res = [];
while ($row = $result->fetch_assoc()) {
  $res[] = $row;
}
var_dump($res);
...отрабатывает штатно.
Если у вас в массиве остаётся только последняя строка - есть шанс что вы где то ошиблись с циклом и там перезапись а не добавление.
0
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 9
29.03.2020, 20:09  [ТС]
Там нет цикла.
Весь код выглядит так:
PHP
1
2
3
4
$link = mysqli_connect ("127.0.0.1", "root", null, BASE_NAME);
$a = mysqli_query ($link, "SELECT column1, column2, column3, FROM table_name ORDER BY column3 DESC LIMIT 3");
$b = mysqli_fetch_assoc ($a);
echo ($b);
Простоя думал, что mysqli_query в этом случае вернет ряд вложенных массивов, и циклы для вывода не нужны. Хотя если даже если выводить результат через var_dump(), то на выходе будет только одна верхняя строка.
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
29.03.2020, 21:03
Цитата Сообщение от KotAzin Посмотреть сообщение
Там нет цикла.
вот поэтому и
Цитата Сообщение от KotAzin Посмотреть сообщение
Но в массиве оказывается только одна, самая верхняя строка.
0
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 9
30.11.2022, 14:58  [ТС]
Спасибо всем за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.11.2022, 14:58
Помогаю со студенческими работами здесь

20 запросов в секунду и "508 - Resource Limit is Reached"
Доброго дня. При простом редактировании страницы сайта на Wodpress во встроенном редакторе (либо Page Builder конструкторе), не особо...

Time limit: 1.00 s Memory limit: 512 MB A game has n rooms and m tunnels between them. Each room has a certain number of
Time limit: 1.00 s Memory limit: 512 MB A game has n rooms and m tunnels between them. Each room has a certain number of coins. What is...

Что значат Power Limit и Temperature Limit в GPU-Z?
Здравствуйте. Подскажите пожалуйста, кто разбирается в GPU-Z что это за показатели и как их расшифровать? Power Limit и Temperature Limit...

обработка запросов
ТЗ: Есть сайт страница, в которой пользователь пишет сообщение и по кнопке отправить письмо должно отправится на почту администратору ...

Обработка запросов
Суть в том, что требуется сделать сортировку. Как все это сделать на PHP я знаю, скажите как сделать скролл типо: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru