[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[Debian]:Perl: Frage zu CGIs & SQL(DBI)



Hallo

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'))". Allerdings funktioniert das nicht in einem
SQL-Statement, z.B. da:

**-------------------------------------------------------------------**
my $sth = $dbh->prepare("INSERT INTO Adressen VALUES (\"(param('Name'))\")
**-------------------------------------------------------------------**

Auch wenn ich folgendes mache, geht es nicht:

**-------------------------------------------------------------------**
my $q = new CGI;
my $sth = $dbh->prepare("INSERT INTO Adressen VALUES (\"$q->param('Name')\");
**-------------------------------------------------------------------** 

Es wird dann immer das Statement 

**-------------------------------------------------------------------**
INSERT INTO Adressen VALUES ("(param('Name'))")
[oder]
INSERT INTO Adressen VALUES ("CGI=HASH(0x80d0d94)-param('Name')")
**-------------------------------------------------------------------** 

ausgeführt. 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.

 solong,
	Thomas
-- 
Thomas Bader <thomasb@trash.net>, Powered by LINUX 2.2
Infos und Tipps zu Linux, HOWTOs des DLHP <http://www.t-bader.ch/>
=> ICQ: 46323601 
------------------------------------------------
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: