Heim > Datenbank > MySQL-Tutorial > Wie maskiere ich Sonderzeichen in MySQL-Abfragen richtig?

Wie maskiere ich Sonderzeichen in MySQL-Abfragen richtig?

Susan Sarandon
Freigeben: 2024-12-14 14:18:10
Original
957 Leute haben es durchsucht

How Do I Properly Escape Special Characters in MySQL Queries?

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"  %";
Nach dem Login kopieren

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:

  • ' ' - ASCII-NUL-Zeichen (0x00)
  • ''' - Einfaches Anführungszeichen
  • '"' - Doppeltes Anführungszeichen Zeichen
  • 'b' - Rücktaste
  • 'n' - Newline (Zeilenvorschub) Zeichen
  • 'r' - Wagenrücklaufzeichen
  • 't' - Tabulatorzeichen
  • 'Z' - ASCII 26 (Strg-Z)
  • ' ' – Backslash-Zeichen
  • '%' – Prozentzeichen
  • '_' – Unterstrich Zeichen

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\" %';
Nach dem Login kopieren

Alternativ können einfache Anführungszeichen als Zeichenfolgentrennzeichen verwendet werden:

select * from tablename where fields like '%string ''hi'' %';
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage