var_dump des Ergebnisses ergibt einen Nullwert. Bei genauerer Betrachtung wird jedoch eine ganze Zahl zurückgegeben [duplicate]

Mögliche Duplikate:
Neues Mysqli-Objekt ist Null

Ich habe gerade damit begonnen, meine Datenbankklasse für mein MVC-Framework zu erstellen. Während ich dies baue, experimentiere ich mit einfachen Abfragen und Tabellen, damit es richtig funktioniert.

Ich habe versucht, Folgendes abzufragen:

SELECT * FROM mvc_test

Dies sollte 3 Zeilen zurückgeben:

1 | Prüfung

2 | test2

3 | test3

Ich wende die folgende Methode an, um abzufragen:

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

Wobei $ this-> conn ist:

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

Wobei $ this-> reg-> conf-> database alle Werte für host, database etc. enthält. Das funktioniert, ich habe eine Verbindung.

Nun, wenn ich das Ergebnis wie folgt var_dump:

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

Ich bekomme das:

Objekt (mysqli_result) [9]

public 'current_field' => null

public 'field_count' => null

public 'length' => null

public 'num_rows' => null

public 'type' => null

Aber, wie gesagt, sollte es mindestens 3 Zeilen enthalten, also würde ich erwarten, dass num_rows '3' ist.

Nun, wenn ich var_dump die num_rows des Ergebnisses wie folgt:

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

Ich bekomme eine 'int 3' als Antwort.

Fazit: Im ersten var_dump ist es null, aber bei einer genaueren Betrachtung bekomme ich eine 3. Also liest es 3 Zeilen. Wenn ich eine weitere Zeile (die vierte) hinzufüge, wird wie erwartet eine 4 zurückgegeben.

Meine Frage ist: Warum funktioniert der var_dump nicht richtig? Warum sagt es zuerst null, aber bei einer genaueren Betrachtung hat es einen Wert.

Vielen Dank im Voraus, ich habe wirklich Probleme damit, da ich auch keine Fehler bekomme.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage