Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]3730[/thread]

mysql-query länge (Seite 2)



<< |< 1 2 >| >> 18 Einträge, 2 Seiten
pq
 2006-10-17 23:56
#34822 #34822
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Froschpopo,17.10.2006, 20:44]
Code: (dl )
1
2
my $sth = $dbh->prepare($select);
$sth->execute() or die $DBI::errstr;

so hab ichs gemacht und so funktioniert es! OHNE den Array im execute()!![/quote]
wenn du keinen wert auf sicherheit legst, zwingt dich natuerlich keiner,
platzhalter zu benutzen.
tatsache ist, dass du ein werte an execute uebergeben musst, wenn du
platzhalter im sql hast.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Froschpopo
 2006-10-18 00:35
#34823 #34823
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
hä? welche platzhalter meinstn jetzt
jan
 2006-10-18 00:51
#34824 #34824
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
die fragezeichen im sql-statement, die in dem fall durch das x sooft wiederholt werden wie elemente im array sind. das sind die platzhalter. wenn du execute nun werte übergibst, werden die automatisch gequotet und escaped und dann an stelle der platzhalter gesetzt.
pq
 2006-10-18 00:57
#34825 #34825
User since
2003-08-04
12209 Artikel
Admin1
[Homepage]
user image
[quote=Froschpopo,17.10.2006, 22:35]hä? welche platzhalter meinstn jetzt[/quote]
lesen hilft ab und zu.
ich schrieb weiter oben
"execute() bekommt als argument die werte, für die im sql platzhalter
stehen (die fragezeichen)."
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Froschpopo
 2006-10-18 02:33
#34826 #34826
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
achsoo jetzt verstehe ich das. Vielen Dank für die mühevolle Aufklärung. Wusste garnicht dass es so üblich ist.
esskar
 2006-10-18 03:30
#34827 #34827
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=Froschpopo,18.10.2006, 00:33]achsoo jetzt verstehe ich das. Vielen Dank für die mühevolle Aufklärung. Wusste garnicht dass es so üblich ist.[/quote]
vermeidet SQL injections!
renee
 2006-10-18 10:25
#34828 #34828
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=pq,17.10.2006, 18:53][quote=renee,17.10.2006, 08:41]
Code: (dl )
1
2
3
4
5
my @names = qw(name1 name2 ...);
my $select = 'SELECT fields from tble where name IN('.join(',',('?') x scalar(@names)).')';

my $sth = $dbh->prepare or die $dbh->errstr();
$sth->execute(@names);
[/quote]
das muss
my $sth = $dbh->prepare($select) or die $dbh->errstr();
heißen.[/quote]
Richtig... Ich wollte Froschpopo ja auch noch etwas Arbeit übrig lassen ;)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Froschpopo
 2006-10-18 19:26
#34829 #34829
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
:D Danke allen!
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2006-10-17 00:21.