var_dump результата дает нулевое значение. Но более глубокий осмотр возвращает целое число [дубликат]
Possible Duplicate:
New Mysqli Object is Null
Я только начал с создания своего класса базы данных для моей инфраструктуры MVC. При построении этого я экспериментирую с простыми запросами и таблицами, чтобы заставить его работать должным образом.
Я пытался запросить следующее:
SELECT * FROM mvc_test
Это должно вернуть 3 строки:
1 | test
2 | test2
3 | test3
Я использую следующий метод для запроса:
<?php $this->result = $this->conn->query($this->q); ?>
Где $ this-> gt; conn:
<?php
$this->conn = new mysqli($this->reg->conf->database['host'],
$this->reg->conf->database['user'],
$this->reg->conf->database['password'],
$this->reg->conf->database['database']);
?>
Где база данных $ this-> reg-> gt; содержит все значения для хоста, базы данных и т. Д. Это работает, у меня есть соединение.
Теперь, когда я var_dump результат, как это:
<?php var_dump($this->result); ?>
Я получаю это:
object(mysqli_result)[9]
public 'current_field' => null
public 'field_count' => null
public 'lengths' => null
public 'num_rows' => null
public 'type' => null
Но, как уже было сказано, он должен содержать не менее 3 строк, поэтому я ожидал бы, что num_rows будет 3 '.
Теперь, когда я var_dump num_rows результата, как это:
<?php var_dump($this->result->num_rows); ?>
Я получаю 'int 3' как ответ.
Вывод: в первом var_dump он нулевой, но при более глубоком рассмотрении я получаю 3. Таким образом, он читает 3 строки. Когда я добавляю еще один ряд (четвертый), он возвращает 4, как и ожидалось.
Мой вопрос: почему var_dump не работает должным образом? Почему вначале он говорит «ноль», но при более глубоком рассмотрении он имеет значение.
Заранее спасибо, я действительно борюсь с этим, так как я также не получаю никаких ошибок.