Thread Problem mit Wildcards in der DB Query
(8 answers)
Opened by Timo at 2019-07-11 11:46
Ergänzung: Es gibt außerdem auch
Quotefür Tabellen und Feldnamen, falls diese escaped werden müssen. Und an diesem Punkt, also wo man diese Funktion explizit aufrufen muss, ist man sehr schnell angelangt ;) MFG PS: Untenstehend noch eine universelle insert-Funktion aus meiner FW Factory: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 use strict; use warnings; sub insert{ my $self = shift; # Instanz einer beliebigen Klasse my $dbh = shift; # DB Handle my $tabn = shift; # Tabname my %hunt = @_; # field => value my @fields = keys %hunt; $dbh->do(qq( INSERT INTO @{[$dbh->quote_identifier($tabn)]} (@{[join ',', map{$dbh->quote_identifier($_)}@fields]}) VALUES( @{[join ',', map{$dbh->quote($_)}@hunt{@fields}]} ) )); } 1; Verwendet also quote() und quote_identyfier() um einen universellen Einsatz zu ermöglichen. Anwendung: Code (perl): (dl
)
1 2 3 4 5 6 7 $self->insert($dbh, "log", url => "$proto$ENV{SERVER_NAME}$self->{URL}", ref => $ref, hugo => $hugo, lang => $self->{LANG}, title => $title ); Und das ist einfach nur geil ;) . Last edited: 2019-07-11 20:08:12 +0200 (CEST) |