Escaping MySQL-Platzhalter

Auf einem älteren Server, den ich verwende und auf dem ich keine vorbereiteten Anweisungen verwenden kann, versuche ich derzeit, Benutzereingaben vollständig zu umgehen, bevor ich sie an MySQL sende. Dafür benutze ich die PHP-Funktionmysql_real_escape_string.

Da diese Funktion den MySQL-Platzhaltern% und _ nicht entgeht, verwende ichaddcslashes um auch diesen zu entkommen.

Wenn ich etwas sende wie:

test_test " ' 

in die Datenbank und dann lesen Sie es zurück die Datenbank zeigt:

test\_test " ' 

enn ich mir das ansehe, kann ich nicht verstehen, warum das _ einen vorangestellten Backslash hat, aber das "und" nicht. Da sie alle mit "und" maskiert sind, sollten sie alle gleich erscheinen, dh alle haben das Escape-Zeichen sichtbar oder alle haben es nicht sichtbar.

Sind die Fluchtwege automatisch auf @ überprüf

ann jemand das erkläre

Antworten auf die Frage(2)

Ihre Antwort auf die Frage