Baza wydaje się sama stosować stripslashes czy coś podobnego na otrzymanym tekście. Wcześniej tego nie zaobserwowałem.
Mianowicie:
$header="tek\st"; echo $header; //sprawdziłem bo myślałem że funkcja mysql_real_escape_string nie działa, ale poprawnie wychodzi np. tek\\st $zapytanie="INSERT INTO tabela SET header='$header'";
To jest tylko przykład, zmiennych jest sporo więcej. Problem jest taki, że pomimo dobrego działania funkcji zabezpieczających (sprawdzone przez echo) tekst w bazie wygląda tak jakby nie został... ucieknięty? (czy jak to powiedzieć po polsku) Jednym słowem w bazie mam tek\st zamiast tek\\st, przez co po pobraniu i przejechaniu stripslashes otrzymujemy błędnie tekst.
@edit Teraz czytam i wydaje mi się, że to normalne, ale nie wiem jak mogłem tego wcześniej nie zauważyć. Musiałbym escapeować dane 2 razy a tego nie robiłem. Magic quotes też włączone nie jest. Całkiem już zgłupiałem.
@edit2 Chociaż na samym początku kożystałem z addslashes nie mysql_real_escape_streing, może wtedy jest inaczej...