Mysql Fehlersuche allgemein
Startseite > Allgemein > Mysql Fehlersuche allgemein
Hier haben wir ein paar Tipps zum programmieren und zur Fehlersuche mit MySql in PHP.
Wenn der Mysql-Server Fehler liefert, werden diese von PHP nicht automatisch als Warnungen ausgegeben.
Um die Fehler auszugeben benutzen Sie folgende Funktion:
echo mysql_error();
mysql_error() liefert immer die Fehlermeldung der Zuletzt aufgerufenen Mysql-Funktion. Daher verwenden Sie mysql_error() nach jedem mysql_query() um Fehler auszugeben.
Muster
Code:
Beispiel
Die Meldung
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM smallcms_themen_artikel Where id = 5' at line 5
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\test_code.php on line 22
Die erste Meldung sagt:
Das im SQL Statement in der Zeile 5 ein Fehler aufgetreten ist, bzw. davor.
Die zweite Meldung wird ausgegeben, da an der Funktion mysql_fetch_array(), aufgrund des Fehlers im SQL-Statement, kein korrektes MySql Resultat übergeben wurde.
Der Code
Code:
nur das Sql-Statement
Code:
Der Fehler hier liegt an dem Komma hinter der Spaltenaufzählung "beschreibung".
Bei der letzten Spalte kommt kein Komma.
Noch ein Tipp:
Code:
Um die Fehler auszugeben benutzen Sie folgende Funktion:
echo mysql_error();
mysql_error() liefert immer die Fehlermeldung der Zuletzt aufgerufenen Mysql-Funktion. Daher verwenden Sie mysql_error() nach jedem mysql_query() um Fehler auszugeben.
Muster
Code:
- $query = "SELECT
- id,
- title
- FROM artikel";
- $result = mysql_query($query);
- echo mysql_error();
- /* Oder */
- $query = "SELECT
- id,
- title
- FROM artikel";
- $result = mysql_query($query) or die(mysql_error());
- //hier wird das Script bei auftretenen Fehler sofort beendet und
- //die Fehlermeldung ausgegeben.
- /* Oder */
- $query = "SELECT
- id,
- title
- FROM artikel";
- $result = mysql_query($query) or die("Abfrage 1: ".mysql_error());
- /* Hier wird das Script auch sofort durch die() beendet, gibt die Fehlermeldung aus und ein Hinweis um welchen $query es sich handelt. (Abfrage 1) */
Beispiel
Die Meldung
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM smallcms_themen_artikel Where id = 5' at line 5
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\test_code.php on line 22
Die erste Meldung sagt:
Das im SQL Statement in der Zeile 5 ein Fehler aufgetreten ist, bzw. davor.
Die zweite Meldung wird ausgegeben, da an der Funktion mysql_fetch_array(), aufgrund des Fehlers im SQL-Statement, kein korrektes MySql Resultat übergeben wurde.
Der Code
Code:
- /* ausführen einer SQL Anfrage */
- $query = "SELECT
- id,
- title,
- beschreibung,
- FROM smallcms_themen_artikel
- Where id = 5";
- $result = mysql_query($query);
- echo mysql_error();
- /* Ausgabe der Ergebnisse in HTML */
- while ($row = mysql_fetch_array($result)) {
- echo "<div>\n";
- echo $row['id'];
- echo "</div>\n";
- }
nur das Sql-Statement
Code:
- $query = "SELECT
- id,
- title,
- beschreibung,
- FROM smallcms_themen_artikel
- Where id = 5";
Der Fehler hier liegt an dem Komma hinter der Spaltenaufzählung "beschreibung".
Bei der letzten Spalte kommt kein Komma.
Noch ein Tipp:
Code:
- //Wenn sie folgende SQL-Statement schreibweisen in Ihren Scripten haben:
- $sql = "SELECT id, title, beschreibung, FROM artikel Where id = 5";
- //Wo alles in einer Zeile steht, dann fügen Sie in ihren Statements
- //Zeilenumbrüche ein, diese sind besser lessbar und mysql_error()
- //liefert Ihnen auch eine brauchbare Zeilennummer zum Fehler
- //besser so ungefähr ->
- $query = "SELECT
- id,
- title,
- beschreibung,
- FROM smallcms_themen_artikel
- Where id = 5";
Kommentar schreiben
andere Themen:
25.02.2005
Warning: fopen: failed to open stream: Permission denied24.02.2005 Fehlersuche Werte
22.02.2005 Notice: Array to string conversion in
22.02.2005 Warning: main(datei.php): failed to open stream: No such file or directory in
Zurück

Kommentare