Mailinglisten-Archive |
Hi, ist Euch schon mal folgendes bei MySQL aufgefallen: ein String soll in die Datenbank geschrieben werden. Der String sieht so aus: print "<a href=\"bla\">blubb</a>\n"; Damit die Datenbank nicht stolpert, macht man ja normalerweise von addslashes() Gebrauch. Dann sieht der String so aus: print \"<a href=\\"bla\\">blubb</a>\\n\"; Damit kann er gefahrlos in die Datenbank geschrieben werden. Okay, machen wir ein INSERT. Und jetzt habe ich ein Problem. Wenn ich zur Überprüfung mal im MySQL-Kommandozeilenclient ein SELECT mache und nachschaue, was denn so in der Datenbank drinsteht, sehe ich folgendes: print \"<a href=\\"bla\\">blubb</a>\n\"; ^^ Da hat MySQL aus dem \\n ein \n gemacht, was nicht sein darf, denn: Nachdem die Applikation die Daten ausliest und brav ein stripslashes() macht, erhält sie folgenden String: print "<a href=\"bla\">blubb</a>n"; Und damit ist das Ganze kaputt, weil eigentlich der gleiche String wie am Anfang rauskommen sollte. Der verwendete Datentyp in der Datenbank ist übrigens ein LONGTEXT. Weiß jemand, wie ich MySQL dazu bringen kann, das \\n bzw. \\ in Ruhe zu lassen und kein \ daraus zu machen? TIA, Björn. -- Online-Applikationen für das E-Business: <http://rent-a-phpwizard.de/> => inklusive Newsletter rund um PHP & das E-Biz <=
php::bar PHP Wiki - Listenarchive