Codeigniter next_row() возвращает null

Я пытаюсь получить следующую строку каждый раз, когда запускаю функцию, но она всегда возвращает 0

Модель

function getNextMuziek($id)
    {
        $this->db->where('id', $id);
        $this->db->limit(1);
        $query = $this->db->get('muziek')->num_rows() == 1;
        return $query->next_row();
    }

обман. stackoverflow.com/questions/56344342/…

bassxzero 28.05.2019 22:35

это не было решено, ни внимания

arnekick 28.05.2019 22:37

Это не значит, что вы можете сделать репост.

bassxzero 28.05.2019 22:38

Возможный дубликат Codeigniter следующая запись в базе данных

jmoerdyk 28.05.2019 22:45

пожалуйста, удалите свой предыдущий вопрос тогда. Это очень плохой тон — репостить вопросы, когда вы чувствуете, что они не получили достаточной поддержки.

Alex 28.05.2019 23:30

добро пожаловать

arnekick 28.05.2019 23:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
6
377
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Согласно документация, next_row() следует использовать для навигации по набору результатов. Это не будет служить вашим целям. Если вы хотите, чтобы ваша функция возвращала следующую строку после строки, указанной в $id, проще всего будет использовать сравнение «больше чем» и вернуть первую строку. Вы можете изменить свой код на

$query = $this->db->where('id >', $id)->limit(1)->get('muziek');
if ($query->num_rows() == 1) {
    return $query->row();
}

Я использовал это, и теперь я получаю: вызов неопределенного метода stdClass::next_row()

arnekick 28.05.2019 22:57

@arnekick Позвольте мне провести небольшое тестирование и вернуться к вам.

Enoch 28.05.2019 23:12

Я бы посоветовал добавить $this->db->limit(1), а также проверку num_rows() == 1 перед доступом к row(), поскольку мы не знаем, будет ли строка выше. в противном случае это должен быть принятый ответ. также документация next_row() отвратительна ... кто-то должен это исправить.

Alex 28.05.2019 23:29

Теперь я получаю еще одну ошибку для num rows: Call to undefined method CI_DB_mysqli_driver::num_rows()

arnekick 28.05.2019 23:40

Я снова отредактировал его, я думаю, что это правильно, и теперь у меня есть эта ошибка: вызов функции-члена next_row() для целого числа

arnekick 29.05.2019 00:00

@arnekick просмотрите ответ и убедитесь, что next_row() не используется.

Enoch 29.05.2019 00:03

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

arnekick 29.05.2019 00:11

Другие вопросы по теме