Heim  >  Artikel  >  Datenbank  >  Warum erhalte ich die Fehlermeldung „Schwerwiegender Fehler: Aufruf einer Mitgliedsfunktion query() auf Null“?

Warum erhalte ich die Fehlermeldung „Schwerwiegender Fehler: Aufruf einer Mitgliedsfunktion query() auf Null“?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 12:32:02685Durchsuche

Why am I getting the error

„Schwerwiegender Fehler: Aufruf einer Mitgliedsfunktion query() auf Null“ erklärt

Dieser Fehler tritt auf, wenn versucht wird, auf die Abfrage zuzugreifen( )-Methode einer Nullvariablen. Typischerweise tritt dies auf, wenn versucht wird, Datenbankabfragen auszuführen, ohne eine Datenbankverbindung herzustellen, oder wenn die $db-Variable nicht ordnungsgemäß initialisiert wurde.

Diagnose:

Im Mit dem bereitgestellten Code scheint der Fehler aus Zeile 7 zu stammen:

<code class="php">$result = $db->query("SELECT COUNT(UserId) FROM users WHERE UserName = '$username'");</code>

Zeile 3 des Codes initialisiert jedoch die $db-Variable:

<code class="php">$db = new mysqli('127.0.0.1', 'root', '', 'wisconsindairyfarmers');</code>

Lösung:

Um dieses Problem zu beheben, stellen Sie sicher, dass die Variable $db initialisiert und gültig ist, bevor Sie sie in der Methode query() verwenden. In diesem Fall scheint die Variable $db außerhalb der Funktion user_exists() definiert zu sein. Um innerhalb der Funktion darauf zuzugreifen, übergeben Sie es als Parameter:

<code class="php">function user_exists($db, $username) {
    // ...
}</code>

Dann rufen Sie die Funktion wie folgt auf:

<code class="php">user_exists($db, $username);</code>

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Schwerwiegender Fehler: Aufruf einer Mitgliedsfunktion query() auf Null“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn