Sonderzeichen in MySQL-Abfragen maskieren
Beim Erstellen von MySQL-Abfragen, die Sonderzeichen enthalten, ist es wichtig, diese zu maskieren, um Syntaxfehler zu vermeiden. Dies wird noch wichtiger, wenn es um Benutzereingaben geht, da Sonderzeichen für böswillige Zwecke ausgenutzt werden können.
Betrachten Sie das folgende Beispiel:
select * from tablename where fields like "%string "hi" %";
In dieser Abfrage sind die doppelten Anführungszeichen, die das umgeben Zeichenfolge „hi“ werden als Teil der Zeichenfolge selbst interpretiert, was zu einem Syntaxfehler führt.
Escaping Anforderungen
Die spezifische erforderliche Escape-Sequenz hängt vom verwendeten Sonderzeichen ab. MySQL erkennt die folgenden Escape-Sequenzen:
Lösung
Um die doppelten Anführungszeichen in der Beispielabfrage zu umgehen, sollte die Abfrage wie folgt geschrieben werden:
select * from tablename where fields like '%string \"hi\" %';
Alternativ können einfache Anführungszeichen als Zeichenfolgentrennzeichen verwendet werden:
select * from tablename where fields like '%string ''hi'' %';
Dieser Ansatz vereinfacht das Escapen durch Sicherstellen dass einfache Anführungszeichen innerhalb der Zeichenfolge nicht maskiert werden müssen.
Das obige ist der detaillierte Inhalt vonWie maskiere ich Sonderzeichen in MySQL-Abfragen richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!