var_dump wyniku daje wartość null. Ale głębsza inspekcja zwraca liczbę całkowitą [duplikat]

Możliwy duplikat:
Nowy obiekt Mysqli ma wartość Null

Właśnie zacząłem od zbudowania mojej klasy bazy danych dla mojego środowiska MVC. Podczas budowania eksperymentuję z prostymi zapytaniami i tabelami, aby działały poprawnie.

Próbowałem wysłać zapytanie:

SELECT * FROM mvc_test

Powinno to zwrócić 3 wiersze:

1 | test

2 | test2

3 | test3

Do zapytania używam następującej metody:

<?php $this->result = $this->conn->query($this->q); ?>

Gdzie $ this-> conn to:

<?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']);
?>

Gdzie $ this-> reg-> conf-> baza danych zawiera wszystkie wartości dla hosta, bazy danych itp. To działa, mam połączenie.

Teraz, kiedy zmienna zrzuci wynik w następujący sposób:

<?php var_dump($this->result); ?>

Rozumiem:

obiekt (mysqli_result) [9]

public 'current_field' => null

public 'field_count' => null

public 'lengths' => null

public 'num_rows' => null

public 'type' => null

Ale, jak powiedziano wcześniej, powinien zawierać co najmniej 3 wiersze, więc spodziewałbym się, że num_rows będzie równe „3”.

Teraz, gdy zmienna zrzuci liczby_znaków wyniku w następujący sposób:

<?php var_dump($this->result->num_rows); ?>

Otrzymuję odpowiedź „int 3”.

Wniosek: w pierwszym var_dump ma wartość null, ale przy głębszej inspekcji otrzymuję 3. Więc odczytuje 3 wiersze. Kiedy dodam kolejny wiersz (czwarty), zwraca 4 zgodnie z oczekiwaniami.

Moje pytanie brzmi: dlaczego var_dump nie działa poprawnie? Dlaczego Na początku mówi null, ale przy głębszej kontroli ma wartość.

Z góry dziękuję, naprawdę walczę z tym, ponieważ nie mam żadnych błędów.

questionAnswers(1)

yourAnswerToTheQuestion