Ein obligatorisches Update :Da mysql ext nicht mehr existiert, hier sind Antworten für zwei verbleibende MySQL-APIs, die ich auf meiner Website geschrieben habe, basierend auf der Erfahrung aus der Beantwortung von 1000 Fragen zu Stack Overflow:
- Wie man Fehler in mysqli meldet
- Wie man mit PDO eine Verbindung zu MySQL herstellt (mit dem Ziel der korrekten Fehlerberichterstattung).
Kurz gesagt, für mysqi muss die folgende Zeile vor mysqli_connect()
hinzugefügt werden Aufruf:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
während für PDO der richtige Fehlermodus eingestellt werden muss, zum Beispiel
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
Ab der alten mysql-Erweiterung
Um einen Fehler von mysql_query()
zu erhalten Sie müssen mysql_error()
verwenden Funktion.
Führen Sie also alle Ihre Abfragen immer auf diese Weise aus, zumindest bis Sie einen fortgeschritteneren Abfrage-Handler entwickeln:
$query = "SELECT * FROM 'users'";
$result = mysql_query($query) or trigger_error(mysql_error()." ".$query);
Das Problem mit Ihrer aktuellen Abfrage ist 'users'
Teil. Zum Trennen von Zeichenfolgen müssen einfache Anführungszeichen verwendet werden, während für die Bezeichner Backticks verwendet werden müssen:
SELECT * FROM `users`
Um diese Fehler während der Entwicklung zu sehen, fügen Sie diese Zeilen am Anfang Ihres Codes hinzu, um sicherzustellen, dass Sie jeden aufgetretenen Fehler sehen können
ini_set('display_errors',1);
error_reporting(E_ALL);
Auf dem Produktionsserver sollte jedoch der Wert in der ersten Zeile von 1 auf 0 geändert werden