Thread DBD::SQLite - Anzahl Zeilen abfragen (21 answers)
Opened by Kean at 2011-05-09 09:16

rosti
 2011-05-09 11:09
#148347 #148347
User since
2011-03-19
3199 Artikel
BenutzerIn
[Homepage]
user image
Oh, Vorsicht:

Code (perl): (dl )
$sth->execute or die $dbh->errstr;


wird niemals ein die() werfen (siehe Edit), weil execute() _immer_ einen definierten Wert zurückgibt.

$DBI::errstr

ist auch mit Vorsicht zu genießen. Mal angenommen, Du hast ein Statement, was nicht funktioniert, prüfst nicht gleich und schickst ein funktionierendes ST hinterher. Wenn Du jetzt $DBI::errstr befragst, steht da nix drin, ein Fehler wird nicht bemerkt.

Mein Tipp: s.o.. Setze RaiseError, eval{}; und befrage $@. Damit kannst Du einwandfrei reagieren (Datenkonsistenz!), und die Anwendung bleibt stabil.

Edit: Im Fehlerfall gibt execute() den Wert '0E0' zurück. Es erfolgt kein die() obwohl ein Fehler aufgetreten ist.

execute() kann aber auch 0 zurückgeben, was keinen Fehlerfall bedeuten muss.
Last edited: 2011-05-09 11:16:02 +0200 (CEST)

View full thread DBD::SQLite - Anzahl Zeilen abfragen