PHP und Anführungszeichen (", ')

Der MySQL Datenbank-Server für Internet- und Intranet-Lösungen.

PHP und Anführungszeichen (", ')

Beitragvon Johannes Maurer » Sa 14 Apr, 2001 23:31

Warum bekomme ich seit einigen Tagen " zurück wenn ich " in eine mysql Tabelle gespeichert habe?
Johannes Maurer
 

RE: PHP und Anführungszeichen (", ')

Beitragvon Peter Mayer » Sa 14 Apr, 2001 23:46

Johannes Maurer schrieb:
-------------------------------
>Warum bekomme ich seit einigen Tagen " zurück wenn ich " in eine mysql Tabelle gespeichert habe?

Wenn man eine Zeichenfolge wie "sehr wichtig" ohne weitere Sonderbehandlung einem MySQL-Datenfeld übergibt, interpretiert MySQL das Sonderzeichen " als Ende des übergebenen Strings.

Deshalb muss vor dem Sonderzeichen ein Backslash () gesetzt werden. Dieser Vorgang wird auch als Escaping bezeichnet. Für das manuelle Escaping stehen in PHP die Funktionen addslashes() & stripslashes() zur Verfügung.

Wurde (z.B. vom Provider des Virt. Servers) der Schalter „magic_quotes_gpc“ auf On gesetzt (/usr/local/lib/php.ini), wird das manuelle Escaping überflüssig.

Beim Schalter „magic_quotes_runtime“ handelt es sich um das automatische Escaping von Daten die zum Beispiel aus einer Datenbank gelesen werden.

Beim Update von PHP3 auf PHP4 wird nicht mehr die Datei /usr/local/lib/php3.ini sondern stattdessen die Datei /usr/local/lib/php.ini verwendet. Wenn nun diese Datei noch nicht existiert, nimmt PHP automatisch den Wert "On" für die Variable magic_quotes_runtime an.

Mit den Einstellungen (z.B. vom Provider des Virt. Servers gesetzt)...
magic_quotes_gpc Off
magic_quotes_runtime Off
... in der Datei /usr/local/lib/php.ini müsste wieder alles funktionieren.

mfg
Peter Mayer
Peter Mayer
 


Zurück zu MySQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 Gäste