perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 28
Click for quality!




10.02.2012 / 08:47

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragPerl - Schreiben in Datenbank, Problem mit Sonderzeichen
Seitenanfang
Hallo,
ich hoffe einen Tipp zu meinem Problem zu bekommen:

Ich nehme Daten aus einem Formular entgegen. Diese sind demnach beliebige Textzeichen.

Diese Daten möchte ich in eine Datenbank schreiben - dazu verwende ich DBI.

Es klappt soweit auch, nur parse ich die Formulardaten derzeit nicht, so dass es bei bestimmten Zeichen zu Problemen kommt, da diese das SQL Statement beeinträchtigen.

Z.B. beim ' Zeichen im Text.

Ich würde mir gern zu dieser Thematik Wissen anlesen, welche Zeichen ich beachten muss. Evtl. gibt es ja auch im CPAN geeignete Module. Nur gefunden habe ich leider noch nichts. :-(

Datum: 21.03.2005-13:51

Beitragre: Perl - Schreiben in Datenbank, Problem mit Sonderzeichen
Seitenanfang
Benutze einfach die Features von DBI!!

Mache anstatt:

my $statement = "INSERT INTO table(col1,col2) VALUES('$value1','$value2')";
my $sth = $dbh->prepare($statement) or die $dbh->errstr();
$sth->execute() or die $dbh->errstr();

das hier:

my $statement = "INSERT INTO table(col1,col2) VALUES(?,?)";
my $sth = $dbh->prepare($statement) or die $dbh->errstr();
$sth->execute($value1,$value2) or die $dbh->errstr();

Dadurch wird der Inhalt von den Variablen automatisch richtig gequotet. Schau Dir auch einfach mal die Dokumentation von DBI auf http://search.cpan.org an...

Datum: 21.03.2005-14:29

Beitragre: Perl - Schreiben in Datenbank, Problem mit Sonderzeichen
Seitenanfang
Hallo,
vielen Dank, renee, für deinen sehr hilfreichen Hinweis! :-)

Datum: 22.03.2005-11:55

-






-
-