Thread DBI: prepare oder selectrow_array bei einem Datensatz (2 answers)
Opened by Froschpopo at 2007-12-09 08:29

Strat
 2007-12-09 13:02
#103646 #103646
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
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/

View full thread DBI: prepare oder selectrow_array bei einem Datensatz