Martin Hein: mysqldump erzeugt \"

Beitrag lesen

Hallo Sven,

Diese Vorgehensweise ist unsauber. Die einzige korrekte Funktion zum Escapen für MySQL ist mysql_real_escape_string(). Oder lieber (und wenn verfügbar) mysqli_real_escape_string() (wobei die objektorientierte Nutzung auch die kürzere Schreibweise $x->escape_string() erlaubt).

  1. ok, wird beherzigt: Jedes in die DB schreiben von Daten!=int
       soll sauber für mysql 'real' escaped werden.

Mit anderen Worten: Deine Logik müßte im Prinzip komplett umgedreht werden: Wenn magic_quotes_gpc aktiviert ist (eine schlechte Sache), ist stripslashes() auf die Eingabedaten anzuwenden, ansonsten passiert nichts.

  1. falls das Browser auf die Idee kommt, selbst zu maskieren,
       sollte man das besser rückgängig machen (stripslashes()).
       Frage: Kann ich stripslashes() pauschal über die Werte
       laufen lassen, ohne vorher magic_quotes_gpc abzufragen.

Für mein Verständnis:
---------------------

Wird jetzt durch diese Vorgehensweise etwas anderes in der
DB stehen, als jetzt ?

Oder anders herum:

Sorgt "mysql_real_escape_string()" dafür, dass jetzt in meiner
DB z.B. " steht ?

und:

Muss ich entsprehend beim auslesen der Daten, (die dann ja
dargestellt werden sollen) den Schritt auch wieder umgekehrt
ausführen (so etwas wie unescape?)

danke und

beste gruesse,
martin