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 не работает должным образом? Почему вначале он говорит «ноль», но при более глубоком рассмотрении он имеет значение.

Заранее спасибо, я действительно борюсь с этим, так как я также не получаю никаких ошибок.

Ответы на вопрос(1)

Ваш ответ на вопрос