Bei der Verwendung von PHP für die Website -Entwicklung stoßen Entwickler häufig auf einige häufige Fehler. Unter ihnen ist der PHP -fataler Fehler: Rufen Sie die undefinierte Funktion mySQL_query () relativ typisch an . Dieser Fehler wird normalerweise durch die Nicht -Verwendung der Datenbankerweiterungsfunktion verursacht.
Beginnend mit PHP 5.5 wurden die Funktionserie von MySQL_* veraltet und in Php 7 vollständig entfernt. Wenn der Projektcode daher noch eine alte Funktion wie MySQL_Query () verwendet, wird der obige Fehler verursacht.
Um dieses Problem zu lösen, müssen Sie stattdessen die offiziell empfohlene MySQLI- oder PDO -Erweiterungsbibliothek verwenden.
<?php $conn = new mysqli('localhost', 'username', 'password', 'database'); if ($conn->Connect_error) { Die ('Connect hat keine Verbindung zur Datenbank hergestellt:'. $ conn-> connect_error); } $ sql = 'select * von Benutzern'; $ result = $ conn-> query ($ sql); if ($ result-> num_rows> 0) { while ($ row = $ result-> fetch_assoc ()) { Echo 'Benutzername:'. $ row ['Benutzername']. ', E -Mail:'. $ row ['E -Mail']. ''<br> '; } } anders { echo 'kein Benutzer gefunden'; } $ conn-> close (); ?>
Dieser Code zeigt, wie Sie MySQLI verwenden, um eine Verbindung herzustellen, eine Abfrage auszuführen und die Ergebnisse auszugeben. Wenn die Verbindung fehlschlägt, wird eine Aufforderung zur Nachricht zurückgegeben.
<?php $dsn = 'mysql:host=localhost;dbname=database'; $username = 'username'; $password = 'password'; try { $conn = new PDO($dsn, $username, $password); $conn-> setAttribute (pdo :: attr_errmode, pdo :: errmode_exception); $ sql = 'select * von Benutzern'; $ stmt = $ conn-> query ($ sql); while ($ row = $ stmt-> fetch (pdo :: fetch_assoc)) { Echo 'Benutzername:'. $ row ['Benutzername']. ', E -Mail:'. $ row ['E -Mail']. ''<br> '; } } catch (pdoException $ e) { Echo 'konnte keine Verbindung zur Datenbank herstellen:'. $ e-> getMessage (); Ausfahrt; } $ conn = null; ?>
Die Verwendung von PDO kann nicht nur MySQL verarbeiten, sondern unterstützt auch mehrere Datenbanken, die skalierbarer und bequemer sind, um Fehler über Ausnahmemechanismen zu behandeln.
Bei der Begegnung mit einem PHP -tödlichen Fehler: Rufen Sie auf die undefinierte Funktion mySQL_Query () Fehler auf, das Problem liegt normalerweise daran, dass die alte MySQL -Erweiterung in der PHP -Version nicht mehr unterstützt wird. Die Lösung besteht darin, den Code in MySQLI oder PDO zu migrieren, was nicht nur die Fehlerberichterstattung vermeidet, sondern auch leistungsstärkere Funktionen und bessere Sicherheit hat.
Wenn Ihr Projekt weiterhin die alte MySQL_* -Funktion verwendet, wird empfohlen, die neue Erweiterung so schnell wie möglich zu aktualisieren, um die Kompatibilität und die Wartbarkeit sicherzustellen.