Mailinglisten-Archive |
Christian Kruse schrieb
> mysql_query("UPDATE blabla") or raeum_auf();
>
> oder
>
> if (!mysql_query("UDATE balbla"))
> { raeum_auf(); }
Beides ist relativ ungeeignet. Du bekommst bei mysql_query nur ein FALSE
zurück, wenn das SQL-Statement nicht ausgeführt werden konnte. Z.B. wenn
ein Syntax-Fehler vorliegt, die Tabelle oder Felder nicht existieren.
Wenn ein "UPDATE bla SET x = y WHERE id = 5" keine Änderung bewirkt,
weil kein Datensatz mit der ID 5 existiert, dann bekommst Du trotzdem
ein TRUE zurück, weil MySQL das SQL-Statement selbst fehlerfrei
ausführen konnte. Deine Aufräumfunktion wird also nicht ausgeführt,
obwohl das Update nicht möglich war.
Für entsprechende Prüfungen gibt es die Funktionen mysql_num_rows und
mysql_affected_rows. Hier wäre also folgendes sinnvoll
if(mysql_affected_rows() != 1)
{
// Fehlerhandling
}
Guido Haeger
php::bar PHP Wiki - Listenarchive