Martin Hein: mysqldump erzeugt \"

Beitrag lesen

Hallo Tom,

ertsmal vielen Dank für Deine Hilfe!

es kann schon sehr gut angehen, dass in der Anwendung bei der
Kommunikation zwischen PHP und MySQL etwas grundsätzlich im
Argen liegt. Das zu ändern steht ganz weit oben auf meiner
ToDo-Liste. Ich verstehe aber immernoch nicht genau, was da
passiert.

  1. Zur Zeit generiere ich ein SQL-Statement, dass Inhalte in die
       DB schreibt in etwa so:

$content = $_POST['content'];
if (!get_magic_quotes_gpc())
$content = addslashes($content);
$sql_stament = '
UPDATE table
SET content = "'.$content.'"';

... ich erzwinge m.E. also Slashes.

  1. Wenn ich mir $sql_stament auch der Seite ausgeben lasse, sieht
       das so aus:

UPDATE table SET
content = "<div class="cross_image">
<h1>TEST</h1>";

... und habe den Eindruck 1) funktioniert.

  1. Wenn ich dann in meinem phpmyadmin dann content als SQL
       exportiere, sieht das so aus:

INSERT INTO tabke VALUES ('<div class="cross_image">\r\n<h1>TEST</h1>');

... und da sind die Slashes verschwunden.

Es funktioniert alles so. Deshalb schmeiss ich es nicht über den
Haufen, bevor mir klar ist, was genau passiert und was ich daran
ändern muss. Dazu kommt, dass ich da auf einer MySQL<4.1 arbeite,
was ich eh für einen Misstand halte, der im nächsten Jahr
abgestellt werden sollte. Bis dahin will ich tiefer in das Thema
Zeichensätze einsteigen, weil auch das unsauber gelöst ist.

beste gruesse,
martin