Re: [Debian]:Perl: Frage zu CGIs & SQL(DBI)
Thomas Bader hat gesagt: // Thomas Bader wrote:
> ich habe eine Frage zu Perl, und zwar speziell zum Handling von
> Variablen, die per POST oder GET übergeben werden und dann das
> übernehmen in ein SQL-Statement.
>
> Wenn ich ein Form habe, etwa so:
>
> **-------------------------------------------------------------------**
> <form action="xy.pl" method="POST">
> <input type="text" name="Name" value="Bader">
> <input type="text" name="Vorname" value="Thomas">
> <input type="submit" value="Eintragen">
> </form>
> **-------------------------------------------------------------------**
>
> Dann kann ich nachher im Skript (dank CGI.pm) darauf zugreifen mit
> "(param('Name'))".
> [...]
> Meine Frage nun: Wie kann ich Variablen, die per POST oder
> GET reinkommen in ein SQL-Statement übernehmen?
>
> Am bequemsten wäre es, wenn es von CGI.pm eine Funktion gäbe, die die
> Variablen aus dem Form als Parameter darstellen würde, z.B. so:
>
> **-------------------------------------------------------------------**
> my $sth = $dbh->prepare("INSERT INTO Adressen VALUES (\"$Name\",\"Vorname\")");
> **-------------------------------------------------------------------**
>
> Allerdings habe ich zu dieser Funktion nichts in der Manpage zu CGI
> gefunden.
Naja, das musst du halt selber machen. Ich habe in meine Skripten schon
allein der Übersicht zuliebe meist so etwas stehen:
my $name = $query->param("name");
my $vorname = $query->param("vorname");
# Vielleicht noch für exotische Namen wie " Jeanne D'Arc ":
$name = $dbh->quote("$name");
# Und dann
my $sql = "INSERT INTO Revoluzzer VALUES ( $name, $vorname ) ";
my $sth = $dbh->prepare("$sql") || die "elendig";
my $rc = $sth->execute() || die "einsam" ;
Aber wie der Perl-Programmierer sagt: "Timtoady, es gibt auch andere Wege
zum gleichen Ziel zu kommen..."
bye
--
__ __
Frank Barknecht ____ ______ ____ __ trip\ \ / /wire ______
/ __// __ /__/ __// // __ \ \/ / __ \\ ___\
/ / / ____/ / / / // ____// /\ \\ ___\\____ \
/_/ /_____/ /_/ /_//_____// / \ \\_____\\_____\
/_/ \_\
------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie
bitte eine E-Mail an majordomo@jfl.de die im Body
"unsubscribe debian-user-de <deine emailadresse>"
enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@jfl.de
------------------------------------------------
Anzahl der eingetragenen Mitglieder: 761
Reply to: