Codeigniter 2: Почему $this->db->get('documents') возвращает false? [закрыто]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Codeigniter 2: Почему $this->db->get('documents') возвращает false? [закрыто]

Сообщение Anonymous »

Я только начал использовать CodeIgniter 2 и, вероятно, заметил что-то очевидное, но не могу этого понять.

В моей базе данных MySQL есть таблица с именем Documents со столбцом с именем online_since.

Функция _getMaxOnlineSince() должна получить максимальное значение online_since и вернуть его в виде строки.

В application/models/browse_model.php:

Код: Выделить всё

  private function _getMaxOnlineSince() {
$this->db->select_max('online_since');
$oQuery = $this->db->get('documents');
return $oQuery->num_rows() > 0 ? $oQuery->row()->online_since : false;
}
И я получаю сообщение об ошибке в браузере:


Неустранимая ошибка: необнаруженная ошибка: вызов функции-члена num_rows() для
логического значения


из-за $oQuery имеет значение false: var_dump($oQuery) возвращает bool(false)

var_dump($this->db->select_max('online_since')) возвращает object(CI_DB_mysqli_driver)#14 (73) {...

Приложение Codeigniter 2 работало на старом сервере с PHP 5.3, но после обновления до PHP 7 происходит сбой на этом этапе.

Почему $this->db->get('documents') возвращает false и как это исправить?

Мне удалось заставить эту функцию работать с SQL-запросами:

Код: Выделить всё

  private function _getMaxOnlineSince() {
$oQuery = "select max(online_since) from documents";
$sMaxOnlineSinceDate = $this->db->query($oQuery);
return $sMaxOnlineSinceDate->num_rows() > 0 ? $sMaxOnlineSinceDate->row()->online_since : false;
}
Но есть еще много мест, где я использую


$this->db->get('documents')


Полагаю, в моем случае CodeIgniter по какой-то причине не может оценить этот оператор. Я буду отлаживать дальше.

Подробнее здесь: https://stackoverflow.com/questions/445 ... turn-false
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»