fastix®: db Abfrage mit leerem Ergebnis

Beitrag lesen

Moin!

# Baue den SQL-String immer sauber außerhalb der Abfrage. Du erwartest ein Integer? Liefere es.  
$sql='SELECT `id_versand`  
FROM `taschenraum_rechnungen`  
WHERE `ebay_art_nr`=' . intval($zeile[5]);  
# Notiere auch das SQL syntaktisch sauber. Macht sich beim Debuggen  
# oder Umzug auf weniger tolerante Systeme besser.  
# Du willst eventuell Fehler finden? Nutze aus, dass Zeilenumbrüche drin sein dürfen.  
  
$erg2 = mysql_query($sql, $DB); # $DB enthält Deine Verbindungskennung.  
                                # Ich schreib es groß, weil ein vergleichbares "Ding" in Perl  
                                # "Datenbankhandler" heißt.  
  
if (false===erg2) { # Vergleiche genau...  
      # Fehlerbehandlung. Fürs Testen(sic!) genügt:  
      die (mysql_error($DB).'<pre>'.$sql.'</pre>'); # Deshalb die Zeilenumbrüche!  
}  
  
if (0 < mysql_num_rows($erg2)) { # Liefert die Anzahl der mit Select gelieferten "Zeilen"  
     while ($row=mysql_fetch_array($erg2, MYSQL_ASSOC)) { # "Fetchen" in ein assoziatives Array;  
                                                          #Macht wonach es klingt.  
       echo "id_versand in taschenraum: " . htmlspecialchars(row['id_versand'])."<br>"; # Lucks like a test.  
       # Du hast nach id_versand gefragt.  
       # Das wird mit MYSQL_ASSOC auch geliefert und keine Phantasievariable.  
    }  
} else { # Nichts gefunden, nichts geliefert  
   echo "[link:http://www.duesselrad.de/Hamwanich.55.0.html@title=Hamwanich!]<br>";  
}

Gleich meckert jemand, weil ich mal wieder Code geliefert habe.

Was solls.

MFFG (Mit freundlich- friedfertigem Grinsen)

fastix