Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt „mysqli_query()' „erwartet, dass Parameter 1 mysqli ist, null gegeben' zurück?

Warum gibt „mysqli_query()' „erwartet, dass Parameter 1 mysqli ist, null gegeben' zurück?

Linda Hamilton
Freigeben: 2024-12-15 00:58:17
Original
339 Leute haben es durchsucht

Why Does `mysqli_query()` Return

Warnung: mysqli_query() erwartet, dass Parameter 1 mysqli ist, null angegeben

Dieser Fehler tritt auf, wenn versucht wird, eine MySQL-Abfrage mit mysqli_query auszuführen (), aber der bereitgestellte Parameter für das Verbindungsobjekt ist kein gültiges MySQLi-Objekt. Die Funktion mysqli_query() erwartet, dass der erste Parameter eine Instanz der Klasse mysqli ist.

Im bereitgestellten Codeausschnitt wird der Fehler wahrscheinlich aus folgendem Grund verursacht:

Bereichsproblem

Auf das MySQLi-Verbindungsobjekt $con, das im globalen Bereich deklariert ist, kann innerhalb von nicht zugegriffen werden getPosts()-Funktion. Dies führt dazu, dass der Nullwert als erster Parameter an mysqli_query() übergeben wird, was zu dem Fehler führt.

Lösung:

Um dieses Problem explizit zu beheben Übergeben Sie das Verbindungsobjekt als Parameter an die Funktion getPosts(). Hier ist der geänderte Code:

function getPosts(mysqli $con) {
    $query = mysqli_query($con, "SELECT * FROM Blog");
    // ... Rest of the code remains the same
}
Nach dem Login kopieren

Wenn Sie nun die Funktion getPosts() aufrufen, stellen Sie sicher, dass Sie das Verbindungsobjekt als Argument übergeben.

Außerdem empfiehlt es sich, die Funktion zu aktivieren Erstellen Sie Fehlerberichte und behandeln Sie Probleme mit der Datenbankverbindung ordnungsgemäß. Hier ist ein Beispiel:

// Enable error reporting
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

// Establish database connection
$con = mysqli_connect("localhost", "xxxx", "xxxx", "xxxxx");

// Check connection status
if (!$con) {
    throw new Exception('Failed to connect to MySQL: ' . mysqli_connect_error());
}

// Call the getPosts() function with the connection object
getPosts($con);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum gibt „mysqli_query()' „erwartet, dass Parameter 1 mysqli ist, null gegeben' zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage