Heim >Datenbank >MySQL-Tutorial >Wie kann ich Sonderzeichen in MySQL-Abfragen maskieren, um Syntaxfehler zu vermeiden?

Wie kann ich Sonderzeichen in MySQL-Abfragen maskieren, um Syntaxfehler zu vermeiden?

DDD
DDDOriginal
2024-12-18 20:54:11381Durchsuche

How Do I Escape Special Characters in MySQL Queries to Avoid Syntax Errors?

Sonderzeichen in MySQL-Abfragen maskieren

Problem:

Beim Erstellen von SQL-Abfragen mit Sonderzeichen Wenn Sie mehrere Zeichen verwenden, kann es zu Syntaxfehlern kommen. Beispielsweise führt eine Abfrage wie:

select * from tablename where fields like "%string "hi"  %";

zu einem Fehler: „Sie haben einen Fehler in Ihrer SQL-Syntax …“

Lösung:

Um dieses Problem zu beheben, müssen Sie die Sonderzeichen in der Abfrage maskieren. MySQL erkennt verschiedene Escape-Sequenzen:

  • : ASCII NUL
  • ': Einfaches Anführungszeichen
  • ": Doppeltes Anführungszeichen
  • b: Rücktaste
  • n: Newline
  • r: Wagen return
  • t: Tab
  • Z: ASCII 26
  • \: Backslash
  • %: Prozentsatz
  • _: Unterstrich

Beispiel:

Um die obige Abfrage zu korrigieren, müssen Sie die doppelten Anführungszeichen maskieren:

select * from tablename where fields like "%string \"hi\" %";

Hinweis: Die Verwendung von doppelten Anführungszeichen als Zeichenfolgentrennzeichen ist kein Standard-SQL. Es wird empfohlen, stattdessen einfache Anführungszeichen zu verwenden, was das vereinfacht Abfrage:

select * from tablename where fields like '%string "hi" %';

Das obige ist der detaillierte Inhalt vonWie kann ich Sonderzeichen in MySQL-Abfragen maskieren, um Syntaxfehler zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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