Thread DBI: prepare oder selectrow_array bei einem Datensatz
(2 answers)
Opened by Froschpopo at 2007-12-09 08:29
selectrow_* macht (ebenso wie bei do) hinter den Kulissen sowieso ein prepare/execute, von daher kann man das recht gut verwenden, vor allem, weil es teilweise den Code besser lesbar macht.
Ich selbst kapsle allerdings die Abfrage lieber in eine eigene Sub (z.B. mit Namen fireSelect), in der ich dann prepare + fehlerabfrage, execute + ev. Parameter + fehlerabfrage, und das statement-handle zurückgeben. und vielleicht noch eine weitere sub namens fireSelect_getOneRow, die dann die fireSelect ausfuehrt, einmal $sth->fetchrow_hashref oder so ausführt und den Hash zurückgibt. Sowas hat den Vorteil, dass man bei Bedarf zentral ein die Selects mitloggen und gegebenenfalls einfach profilen kann Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 sub fireSelect { my( $dbh, $sql, @params ) = @_; my $sth = $dbh->prepare( $sql ) or .... Fehlerabfrage; $sth->execute( @params ) or ... Fehlerabfrage return $sth; } oder so aehnlich perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |