PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : php-quelltext in mysql-datenbank speichern?


Melatonin
30.03.2007, 20:38:24
Hallo,

Ich arbeite gerade an einem Skript für eine Speicherung einer Datenbank und dem Laden einer Datenbank.

Dazu lese ich die Datenbank aus und speicher die Daten praktisch in Form von:

<?
mysql_query("INSERT INTO `test` (`a`,`b`,`c`) VALUES(`1`,`2`,`3`) ");
?>


in eine DATEI! also das backup ist kein csv- oder sql-format, sondern es ist lediglich eine php-datei mit den vorgenerierten mysql-befehlen, die es auszuführen hat, damit die DB wieder so steht, wie sie abgespeichert wurde.

Nun habe ich aber das Problem, dass Backslashes verschwinden.

Die einzelnen Zellen werden folgendermaßen abgespeichert:
mysql_real_escape_string($tabelle[$feld]));

sodass man sich die Datei so vorstellen könnte:
<?
mysql_query("INSERT INTO `test` (`a`,`b`,`c`) VALUES(`mysql_real_escape_string($tabelle[$feld1]))`,`mysql_real_escape_string($tabelle[$feld2]))`,`mysql_real_escape_string($tabelle[$feld3]))`) ");
?>


Wenn ich die Datei dann ausführe, gibts haufenweise string-fehler.In der DB sehe ich dann, dass es keine Probleme mit bestimmten Zeichen (z.B. Hochkommata oder Anführungszeichen) gibt, sondern mit Backslashes (\). Denn diese verschwinden komischerweise.

z.B. wurde
echo "<div class=\"text\">";
zu
echo "<div class="text">";

aber wurde z.B. \\ zu \

ich hoffe ihr versteht das Problem und wäre euch sehr dankbar für eure Hilfe,
beste grüße,
malte

Heinrich
30.03.2007, 22:08:31
Dann machste die beim Auslesen mit addslashes() einfach wieder rein...