Heim >Datenbank >MySQL-Tutorial >Warum erhalte ich in PHP den Fehler „Aufruf einer Mitgliedsfunktion query() bei Null'?
Fehlerbehebung beim Fehler „Call to a Member Function query() on Null“
Im bereitgestellten Code wird der Fehler „Schwerwiegender Fehler: Call to a member function query() on null“ kommt in Zeile 7 von login.php vor. Dieser Fehler weist darauf hin, dass die Variable $db, bei der es sich voraussichtlich um ein MySQL-Objekt handelt, null ist, wenn versucht wird, eine Abfrage mit der Methode query() auszuführen.
Lösung:
Bei näherer Betrachtung des Codes stellen wir fest, dass die Initialisierung der $db-Variablen außerhalb der Funktion user_exists() platziert ist, wo sie verwendet wird. Das bedeutet, dass $db innerhalb der Funktion nicht definiert ist und daher null ist. Um dieses Problem zu beheben, müssen wir $db als Parameter an die Funktion user_exists() übergeben. Hier ist der korrigierte Code:
<code class="php">function user_exists($db, $username) { // ... }</code>
Und in login.php können Sie die Funktion jetzt wie folgt aufrufen:
<code class="php">$result = $db->query("SELECT COUNT(UserId) FROM users WHERE UserName = '$username'");</code>
Durch die Übergabe von $db als Parameter stellen wir sicher, dass die Die Funktion hat Zugriff auf das MySQLi-Objekt und kann die Abfrage erfolgreich ausführen.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in PHP den Fehler „Aufruf einer Mitgliedsfunktion query() bei Null'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!