Heim >Backend-Entwicklung >PHP-Tutorial >Warum erhält meine Funktion „mysqli_query()' einen Nullwert anstelle eines MySQLi-Verbindungsobjekts?
Verstehen Sie „Warnung: mysqli_query() erwartet, dass Parameter 1 mysqli ist, null angegeben in“
Bei Ihrer Suche nach einem benutzerdefinierten CMS , sind Sie möglicherweise auf die gefürchtete Fehlermeldung gestoßen: „Warnung: mysqli_query() erwartet Parameter 1.“ MySQLi, null angegeben. Dieses frustrierende Problem entsteht oft durch ein Missverständnis bezüglich des Umfangs von Variablen innerhalb von PHP-Funktionen.
Fehlerursache
Der Fehler deutet darauf hin, dass Ihre getPosts()-Funktion einen Versuch durchführt um auf die Variable $con zuzugreifen, die Ihr MySQLi-Verbindungsobjekt speichert, auf die jedoch im Rahmen dieser Funktion nicht zugegriffen werden kann. Dies liegt daran, dass $con außerhalb der Funktion getPosts() definiert ist.
Lösung: Übergeben der Verbindung als Abhängigkeit
Um dieses Problem zu beheben, müssen Sie übergeben Verbindungsobjekt zur getPosts()-Funktion als Abhängigkeit. Auf diese Weise kann die Funktion auf die Verbindung zugreifen und die erforderlichen Datenbankoperationen ausführen.
function getPosts(mysqli $con) { // Code to query the database using $con }
Weitere Fehler verhindern
Um potenzielle Probleme zu minimieren, sollten Sie Folgendes in Betracht ziehen Code zur Behandlung von Verbindungsfehlern und zum Auslösen von Ausnahmen:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); // throw exceptions $con = mysqli_connect("localhost", "xxxx", "xxxx", "xxxxx"); getPosts($con);
Zusätzlich Tipps
Das obige ist der detaillierte Inhalt vonWarum erhält meine Funktion „mysqli_query()' einen Nullwert anstelle eines MySQLi-Verbindungsobjekts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!