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

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

DDD
Freigeben: 2024-12-18 17:12:11
Original
593 Leute haben es durchsucht

Why Does `mysqli_query()` Return

Verstehen Sie den Fehler „Warnung: mysqli_query() erwartet, dass Parameter 1 MySQLi ist, null angegeben in“

Bei Ihrem Versuch, eine benutzerdefinierte Datei zu erstellen CMS, Sie haben die folgende Fehlermeldung erhalten:

"Warnung: mysqli_query() erwartet Parameter 1 muss MySQLi sein, null angegeben in"

Ursache des Fehlers

Dieser Fehler weist darauf hin, dass die Funktion mysqli_query(), die SQL-Abfragen ausführt, ein MySQLi-Objekt erwartet als erster Parameter. In Ihrer getPosts()-Funktion übergeben Sie jedoch einen Nullwert anstelle eines MySQLi-Objekts.

Lösung

Die Lösung für dieses Problem besteht darin, sicherzustellen, dass die Das $con MySQLi-Objekt liegt im Bereich der getPosts()-Funktion. In Ihrem Code ist $con im globalen Bereich definiert, aber es ist innerhalb der Funktion nicht zugänglich.

Übergabe des MySQLi-Objekts als Abhängigkeit

Eine Möglichkeit dazu Die Adresse besteht darin, das MySQLi-Objekt als Abhängigkeit an die Funktion getPosts() zu übergeben. So können Sie es tun:

function getPosts(mysqli $con) {
    // etc
}
Nach dem Login kopieren

Indem Sie das MySQLi-Objekt zu einem Parameter der Funktion machen, stellen Sie sicher, dass es im Gültigkeitsbereich der Funktion verfügbar ist und von mysqli_query() verwendet werden kann.

Zusätzliche Empfehlungen

Zusätzlich zur Lösung des Scoping-Problems sollten Sie Folgendes in Betracht ziehen Empfehlungen:

  • Behandeln Sie Fehler und Verbindungsfehler, indem Sie mysqli_report() verwenden, um Fehlerberichtsoptionen festzulegen.
  • Stoppen Sie die Skriptausführung, wenn ein Verbindungsfehler oder ein Abfragefehler mit mysqli::error auftritt ().

Hier ist ein Beispiel, wie man diese umsetzt Empfehlungen:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions
$con=mysqli_connect("localhost","xxxx","xxxx","xxxxx");

if (!$con) {
    throw new Exception("Failed to connect to MySQL: " . mysqli_connect_error());
}

getPosts($con);
Nach dem Login kopieren

Durch die Umsetzung dieser Empfehlungen können Sie die Robustheit und Zuverlässigkeit Ihres benutzerdefinierten CMS sicherstellen.

Das obige ist der detaillierte Inhalt vonWarum gibt „mysqli_query()' „Warnung: 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage