Heim >Datenbank >MySQL-Tutorial >Wie verbinde ich LIKE-Werte ordnungsgemäß mit nachfolgenden Prozentsymbolen in PDO?

Wie verbinde ich LIKE-Werte ordnungsgemäß mit nachfolgenden Prozentsymbolen in PDO?

DDD
DDDOriginal
2024-12-28 13:28:10867Durchsuche

How to Properly Bind LIKE Values with Trailing Percentage Symbols in PDO?

LIKE-Werte mit PDO binden

In einer Datenbankabfrage werden LIKE-Operatoren verwendet, um Platzhaltersuchen durchzuführen. Beim Binden von LIKE-Werten mithilfe der PDO-Erweiterung ist es wichtig, das nachgestellte Prozentsymbol korrekt zu verarbeiten.

LIKE-Werte mit nachgestelltem Prozentsymbol binden

In der bereitgestellten Abfrage haben Sie möchte die Variable $partial% binden. Der richtige Ansatz besteht darin, einen Platzhalter mit einem nachgestellten Prozentzeichen zu verwenden:

select wrd from tablename WHERE wrd LIKE :partial%

wobei :partial an $partial="somet" gebunden ist und das Prozentzeichen automatisch angehängt wird.

Alternative Ansätze

Während der oben genannte Ansatz Standard ist, können Sie dies auch tun Bedenken Sie:

  • Verwenden von CONCAT: Die Abfrage kann wie folgt umgeschrieben werden:
SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')

Dieser Ansatz verschiebt die Zeichenfolgenverkettung auf MySQL.

Escape-Sonderzeichen

Wenn der Teil Wenn das gesuchte Wort Sonderzeichen wie %, _ oder enthält, ist ein zusätzliches Escapezeichen erforderlich. Verwenden Sie den folgenden Ansatz:

$stmt= $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'");
$escaped= str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);
$stmt->bindParam(':term', $escaped);

Durch das Escapen dieser Zeichen stellen Sie sicher, dass sie in der LIKE-Bedingung korrekt interpretiert werden.

Das obige ist der detaillierte Inhalt vonWie verbinde ich LIKE-Werte ordnungsgemäß mit nachfolgenden Prozentsymbolen in PDO?. 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