Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
13.07.2008, 00:42
speziFanta



Ich arbeite atm mit Perl in Verbindungen mit SQL.
Allesdings verursachen Strings mit einem Apostroph (') beim Einfügen in die Tabelle Syntaxfehler.
Beispiel:
Quellcode:$game[3] = "Peter's Editor";

$dbh->do("INSERT INTO games (appid, title, price, date) VALUES ('$appID[$i]', 'addslashes($game[$i])', '$price[$i]', UNIX_TIMESTAMP())");
$dbh->quote und einige gegooglten Beispiele geht auch nicht. Aber vielleicht ist ja auch meine Query falsch?

Was ich sonst suche wäre eine Funktion die addslashes() in PHP gleicht. Aus ' soll \' werden.
Danke.

--

Heute schon gegoogelt?
spezi|Clan
TheWall.de - wo jeder alles sein kann.


Dieser Beitrag wurde am 13.07.2008 um 00:43 von speziFanta bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
13.07.2008, 00:46
speziFanta



Hätte mir den Post schon fast sparen können...
Quellcode:$dbh->do("INSERT INTO games (appid, title, price, date) VALUES ('$appID[$i]', \"[($game[$i])\", '$price[$i]', UNIX_TIMESTAMP())"); Edit: ändert aber nichts daran, dass ich mich für diese Funktion interessiere ;)

--

Heute schon gegoogelt?
spezi|Clan
TheWall.de - wo jeder alles sein kann.


Dieser Beitrag wurde am 13.07.2008 um 00:48 von speziFanta bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
13.07.2008, 00:55
Krifitze



Selberschreiben?
Quellcode:$geslasht =~ s/'/\'/g;

--

Website


Dieser Beitrag wurde am 13.07.2008 um 00:58 von Krifitze bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
13.07.2008, 01:50
LeJean



Ja, besser oder gar schneller als mittels s/// könnte das sowieso keine Funktion. Würd ja nur unnötig Overhead erzeugen.

Übrigens ist zum Thema das hier sehr hilfreich:
http://www.unix.com.ua/orelly/perl3/prog/index.htm
(falls du das Camelbook nicht sowieso schon hast. Was man übrigens haben sollte, wenn man mit Perl arbeitet.) :D

--

zum Seitenanfang zum Seitenende Profil || Suche
004
13.07.2008, 03:02
theDon



Falscher Ansatz, Prepared Statements nutzen und sich eine Menge Stress ersparen waere der richtige Weg, man braucht sich dann naemlich um Slashes und andere Sonderzeichen keine Sorgen mehr zu machen, das wird dann erledigt und gut ist.

--

\o tanz den naziprau! o/

And more than ever, I hope to never fall,
Where enough is not the same it was before

zum Seitenanfang zum Seitenende Profil || Suche
005
13.07.2008, 11:29
default



Quellcode:my $query = qq|INSERT INTO games (appid, title, price, date) VALUES ('?','?','?',UNIX_TIMESTAMP());|;
my $stmt = dbh->prepare($query);
my $res = $stmt->execute($appID[$i], [($game[$i]), $price[$i]);

--

Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst.


Dieser Beitrag wurde am 13.07.2008 um 11:29 von default bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
13.07.2008, 11:40
speziFanta



Zitat:
Selberschreiben?
Ja, ich hätte mich heute darangesetzt, aber da das durchaus ein häufigeres Problem ist und ich erst gestern mit Perl angefangen habe etwas zu bastel, dachte ich mir, dass hier evtl. jamand dabei ist, der das aus dem Effeff kann, denn ich wollte das gestern Abend noch fertig bekommen.

@td: jo, früher oder später hätte sich da ein Sonderzeichen eingeschlichen und dann hätte ich das gleiche Problem wieder. Aber kurzfristig hat es geklappt ;)

Ich bedanke mich für eure Beiträge.

--

Heute schon gegoogelt?
spezi|Clan
TheWall.de - wo jeder alles sein kann.

zum Seitenanfang zum Seitenende Profil || Suche