Heim > Datenbank > MySQL-Tutorial > Wie werden MySQL-Platzhalterzeichen in Abfragen und LIKE-Anweisungen ordnungsgemäß mit Escapezeichen versehen?

Wie werden MySQL-Platzhalterzeichen in Abfragen und LIKE-Anweisungen ordnungsgemäß mit Escapezeichen versehen?

DDD
Freigeben: 2024-12-05 04:45:11
Original
443 Leute haben es durchsucht

How to Properly Escape MySQL Wildcard Characters in Queries and LIKE Statements?

Escapable MySQL-Zeichen maskieren

MySQL enthält eine Reihe von Zeichen, die als Platzhalter gelten und mit mehreren Eingaben übereinstimmen können. Zu diesen Zeichen gehören % (Prozent) und _ (Unterstrich). Während mysql_real_escape_string() darauf ausgelegt ist, das Escapen der meisten Zeichen für die Aufnahme in SQL-Abfragen zu verarbeiten, werden diese Platzhalter nicht berücksichtigt.

Es wird empfohlen, Benutzereingaben vollständig zu maskieren und zu verhindern, dass diese Zeichen als Metazeichen interpretiert werden um die Funktion mysql_real_escape_string() in Verbindung mit der Funktion addcslashes() zu verwenden.

Allerdings wann Um Escape-Zeichen für die Aufnahme in eine LIKE-Anweisung zu verwenden, muss ein anderer Ansatz gewählt werden. In LIKE-Anweisungen gelten _ und % nicht als Platzhalter, sondern als Literalzeichen. Um diese Zeichen wörtlich abzugleichen, müssen sie mit der ESCAPE-Klausel maskiert werden.

Um beispielsweise ein wörtliches Prozentzeichen abzugleichen, sollte die LIKE-Anweisung die folgende Syntax verwenden:

LIKE 'something\%' ESCAPE '\'
Nach dem Login kopieren

Hinweis die Verwendung des Backslash () sowohl als LIKE-Escape-Zeichen als auch als Escape-Zeichen für das SQL-String-Literal. Dadurch kann das Prozentzeichen (%) innerhalb der LIKE-Anweisung wörtlich interpretiert werden.

Bei Verwendung der vorbereiteten PHP-Anweisungen wird das Escapen automatisch gehandhabt, sodass kein manuelles Escapen erforderlich ist. Wenn vorbereitete Anweisungen jedoch nicht verfügbar sind, kann die Kombination von mysql_real_escape_string() und addcslashes() Benutzereingaben effektiv vor potenziellen SQL-Injection-Angriffen schützen.

Das obige ist der detaillierte Inhalt vonWie werden MySQL-Platzhalterzeichen in Abfragen und LIKE-Anweisungen ordnungsgemäß mit Escapezeichen versehen?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage