Struppi: DBI - .pm - mySQL

Beitrag lesen

my $upd=$dbh->prepare("UPDATE stammdaten SET vorname=\"$vorname\" WHERE kdnr=100") || die $DBI::errstr; $upd->execute; $upd->finish;

Den parameter lese ich vorher wie immer so ein:

my $vorname=param("vorname");

Und was du hier machst ist hochgefährlich. Du läßt Code von aussen ungeprüft und ungefiltert in den SQL Befehl einfliessen, damit öffnest du das Tor für SQL Injections.

Du musst zumindest die Funktion DBI::quote() anwenden, besser arbeitest du mit Platzhaltern

http://search.cpan.org/~timb/DBI/DBI.pm#Placeholders_and_Bind_Values

Struppi.

--
Javascript ist toll (Perl auch!)