phpbar.de logo

Mailinglisten-Archive

[php] Fehlerbearbeitung

[php] Fehlerbearbeitung

Guido Haeger GH-lists_(at)_ecora.de
Thu, 23 Nov 2000 10:44:22 +0100


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