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.