Dennis: Fehlermeldung: "Warning: mysql_fetch_assoc()..."

Beitrag lesen

Hi mathesen,

da sitzt man ne ewigkeit dran und sucht den Fehler und dann findet man ihn 2 min nachdem man einen Beitrag Gepostet hat...

Unabhängig davon solltest du dir eine vernüftige Fehlerbehandlung überlegen - wenn du in das SQL Statement Variablen mit einbaust, solltest du das SQL-Statement erst mal zwischenspeichern und ausgeben lassen:

// SQL Befehl zusammenbauen, auf die Variable  
// $select sollte vorher bereites ein  
// [link:http://php.net/mysql_real_escape_string@title=mysql_real_escape_string()] angewandt werden, um  
// [link:http://php-faq.de/q/q-sql-injection.html@title=MySQL Injections] vorzubeugen, weiterhin sollte  
// man [link:http://php-faq.de/q/q-sql-select.html@title=nicht SELECT * verwenden].  
$sql = "SELECT  
          foo,  
          bar  
        FROM  
          tabelle  
        $select  
        ORDER BY  
          foo ASC";  
// und zur Kontrolle ausgeben, wer weiß, was wir uns  
// da zusammengesetzt haben!  
echo $sql;  
// Query absetzen  
$result = mysql_query($sql);  
// Bei einem Fehler liefer [link:http://php.net/mysql_query@title=mysql_query()] false zurück,  
// was wir abfangen wollen  
if($result === false) {  
  // Bei einem Fehler lassen wir uns dann auch noch die  
  // Fehlermeldung von [link:http://php.net/mysql_error@title=mysql_error()] ausgeben  
  echo "Es ist ein Fehler aufgetreten: ";  
  echo mysql_error();  
}

In einer Produktiv-Umgebung sollten SQL-Code und Fehlermeldung dann natürlich nicht ausgegeben, sondern in eine Datei geloggt werden.

Also sorry für den Beitrag

Macht ja nichts - aber du darfst hier gerne auch noch schreiben, _was_ denn jetzt genau schief gelaufen ist, dadurch kannst du Leuten die durch eine Archivsuche später auf deinen Beitrag stoßen weiterhelfen!

MfG, Dennis.