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 }
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);
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!