PHP Fehlermeldungen








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:
  1.  
  2. $query = "SELECT
  3.                 id,
  4.                 title
  5.         FROM artikel";
  6. $result = mysql_query($query);
  7. echo mysql_error();
  8.  
  9. /* Oder */
  10.  
  11. $query = "SELECT
  12.                 id,
  13.                 title
  14.         FROM artikel";
  15. $result = mysql_query($query) or die(mysql_error());
  16. //hier wird das Script bei auftretenen Fehler sofort beendet und
  17. //die Fehlermeldung ausgegeben.
  18.  
  19. /*  Oder  */
  20. $query = "SELECT
  21.                 id,
  22.                 title
  23.         FROM artikel";
  24. $result = mysql_query($query) or die("Abfrage 1: ".mysql_error());
  25. /* Hier wird das Script auch sofort durch die() beendet, gibt die Fehlermeldung aus und ein Hinweis um welchen $query es sich handelt. (Abfrage 1) */
  26.  




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:
  1.  
  2. /* ausführen einer SQL Anfrage */
  3. $query = "SELECT
  4.                 id,
  5.                 title,
  6.                 beschreibung,
  7.         FROM smallcms_themen_artikel
  8.         Where id = 5";
  9. $result = mysql_query($query);
  10.  
  11. echo mysql_error();
  12. /* Ausgabe der Ergebnisse in HTML */
  13.  
  14. while ($row = mysql_fetch_array($result)) {
  15. echo "<div>\n";
  16.     echo $row['id'];
  17. echo "</div>\n";
  18. }
  19.  



nur das Sql-Statement
Code:
  1. $query = "SELECT
  2.                 id,
  3.                 title,
  4.                 beschreibung,
  5.         FROM smallcms_themen_artikel
  6.         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:
  1.  
  2. //Wenn sie folgende SQL-Statement schreibweisen in Ihren Scripten haben:
  3. $sql = "SELECT id, title, beschreibung, FROM artikel Where id = 5";
  4.  
  5. //Wo alles in einer Zeile steht, dann fügen Sie in ihren Statements
  6. //Zeilenumbrüche ein, diese sind besser lessbar und mysql_error()
  7. //liefert Ihnen auch eine brauchbare Zeilennummer zum Fehler
  8.  
  9.  
  10. //besser so ungefähr ->
  11. $query = "SELECT
  12.                 id,
  13.                 title,
  14.                 beschreibung,
  15.         FROM smallcms_themen_artikel
  16.         Where id = 5";
  17.  





 Kommentare


 Kommentar schreiben

 Ihr Name:
 
 Ihre Emailadresse (wird nicht angzeigt)
 
 Ihr Kommentar (maximal 500 Zeichen)
 

 Wenn Ihnen dieses Bild nicht angezeigt wird, ist wahrscheinlich die Bildanzeige im Browser deaktiviert.
   Sicherheitscode eingeben

 


andere Themen:
25.02.2005 Warning: fopen: failed to open stream: Permission denied
24.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


<?php echo 'Programmieren - Programme - Scripte - Informationen - PHP: Hypertext Preprocessor - Webprogrammierung'; ?>


© PHP-Fehlermeldungen
American Football