Thread Mysql und Perl (33 answers)
Opened by Johannes at 2012-06-14 09:14

pq
 2012-06-14 11:05
#158991 #158991
User since
2003-08-04
12202 articles
Admin1
[Homepage]
user image
und hier mal generell ein paar kommentare:

benutze immer strict und warnings!
Wiki:use strict

woher ich weiss, dass du keine warnings benuzt? deswegen:

$db = @_[0];

usw.

einzelne elemente aus einem array spricht man mit $array[zahl] an. also in dem fall $_[0]. das @ schreibt man in perl 5 nur davor, wenn man *mehrere* elemente gleichzeitig mittels eines slice holen will.

und dass du vor $db kein my() schreibst, riecht verdächtig danach, dass du auch kein strict benutzt.
deklariere deine variablen im kleichstmöglichen scope und vermeide, einfach so irgendwelche variablen zu benutzen, die sind global und das fliegt dir dann irgendwann um die ohren.

$dbh = DBI->connect("$con","$user","$passwort")

warum machst du um jede variable anführungszeichen?

Code (perl): (dl )
1
2
my $foo = $x;
foobar($x, $y);



alles ohne anführungszeichen möglich.

$sql = qq{ insert into $table ($fieldlist) values ($fieldvalues) on duplicate key update ??  }

dass du da $fieldvalues reinschreibst, ist vermutlich ein grosser fehler. nimm stattdessen platzhalter. das ist sicherer, sauberer und letztendlich dann auch einfacher, als eventuelle sonderzeichen selber quoten zu müssen.

dazu: http://bobby-tables.com/
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

View full thread Mysql und Perl