Heim >Backend-Entwicklung >PHP-Tutorial >Warum benötige ich doppelte Backslashes, wenn ich mit dem LIKE-Operator von MySQL nach einem Schrägstrich suche?

Warum benötige ich doppelte Backslashes, wenn ich mit dem LIKE-Operator von MySQL nach einem Schrägstrich suche?

Linda Hamilton
Linda HamiltonOriginal
2024-11-02 19:20:021001Durchsuche

Why Do I Need Double Backslashes When Searching for a Slash Using MySQL's LIKE Operator?

Grundlegendes zu MySQL-Escape-Sequenzen für Suchabfragen

In MySQL gibt es bei der Suche nach einem Schrägstrich () mithilfe der WHERE-Klausel eine Unterschied in der Notwendigkeit von Escape-Sequenzen je nach verwendetem Operator.

WHERE-Klausel mit Gleichheitsoperator (=)

Für den Gleichheitsoperator (=) kein zusätzliches Escape Reihenfolge erforderlich ist. Die folgende Abfrage findet korrekt einen Datensatz mit einem Titel, der einen Schrägstrich enthält:

<code class="sql">SELECT * FROM `titles` WHERE title = 'test\'</code>

Dies liegt daran, dass der Backslash intern von MySQL maskiert wird, bevor der Vergleich ausgeführt wird.

WHERE Klausel mit LIKE-Operator

Bei Verwendung des LIKE-Operators ist jedoch eine zusätzliche Escape-Sequenz für den Backslash erforderlich. Dies liegt daran, dass der LIKE-Operator der C-Escape-Syntax folgt, bei der zwei Backslashes verwendet werden, um einen anderen Backslash zu maskieren. Um mit LIKE nach einem Schrägstrich zu suchen, müssen Sie daher die folgende Syntax verwenden:

<code class="sql">SELECT * FROM `titles` WHERE title LIKE 'test\\'</code>

Standard-Escape-Zeichen

Standardmäßig ist der Backslash () wird als Escape-Zeichen in LIKE-Ausdrücken verwendet. Dies kann durch Angabe eines anderen Escape-Zeichens mithilfe der ESCAPE-Klausel geändert werden. Die folgende Abfrage verwendet beispielsweise das Pipe-Zeichen (|) als Escape-Zeichen:

<code class="sql">SELECT * FROM `titles` WHERE title LIKE 'test\' ESCAPE '|'</code>

Das obige ist der detaillierte Inhalt vonWarum benötige ich doppelte Backslashes, wenn ich mit dem LIKE-Operator von MySQL nach einem Schrägstrich suche?. 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