Thread Zeile im FH wird durch eine Unterabfrage (~"if eof") der while-Schleife übersprungen
(22 answers)
Opened by norvel at 2012-07-31 16:42
Jetzt glaub ich hab ichs kapiert :)
Wenn du mein(e) Beispiele von oben nimmst und als @data z.B. Zeilen mit Code (perl): (dl
)
{ asset_id => ..., serial_nr => ... } (ungetestet) Code (perl): (dl
)
1 2 3 4 5 my @data = naechstes_paeckchen(); if (@data) { my $query_out = join(' OR ', map { "a.asset_id = $_->{asset_id} and cc.serial_nr = $_->{serial_nr}" } @data); ... } Allerdings solltest du keine Werte direkt in eine SQL-Query einfügen, schon garnicht wenn die von aussen kommen. Du fängst dir damit eine sql-injection-lücke ein. Lieber: Code (perl): (dl
)
1 2 3 4 for my $line (@data) { push @where, 'a.asset_id = ? and cc.serial_nr = ?'; push @params, $line->{asset_id}, $line->{serial_nr}; } und wie man die Fragezeichen und die params dann zusammenbringt steht im dbi-manual 1 + 1 = 10
|