Wie binde ich LIKE-Werte mit der PDO-Erweiterung?

DDD
Freigeben: 2024-11-16 15:28:03
Original
884 Leute haben es durchsucht

How to Bind LIKE Values with the PDO Extension?

LIKE-Werte mit der PDO-Erweiterung binden

Beim Arbeiten mit LIKE-Abfragen ist es wichtig zu überlegen, wie Variablenwerte mit der PDO-Erweiterung gebunden werden . Das Platzhalterzeichen „%“ kann, wenn es am Ende der Suchzeichenfolge platziert wird, einige Herausforderungen darstellen.

In der bereitgestellten Abfrage:

select wrd from tablename WHERE wrd LIKE '$partial%'
Nach dem Login kopieren

Es stellt sich die Frage, wie das gebunden werden soll ${partial} Variable mit PDO. Es lohnt sich, drei Optionen in Betracht zu ziehen:

Option 1: Mit „%“ am Ende binden

select wrd from tablename WHERE wrd LIKE ':partial%'
Nach dem Login kopieren

Bei dieser Option ist der Parameter :partial an gebunden value $partial="somet", wobei das „%“ am Ende beibehalten wird.

Option 2: Ohne „%“ am Ende binden

select wrd from tablename WHERE wrd LIKE ':partial'
Nach dem Login kopieren

Bei dieser Option ist :partial an $partial="somet%" gebunden und hat effektiv ein festes „%“ am Ende der Suchzeichenfolge.

Option 3:Verwenden Sie die CONCAT-Funktion von MySQL

SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')
Nach dem Login kopieren

Diese Option ermöglicht die Verkettung von der Suchbegriff und „%“, die in MySQL selbst ausgeführt werden sollen.

Außerdem, wenn der gesuchte Suchbegriff möglicherweise Zeichen mit besonderer Bedeutung in LIKE-Operatoren enthält, wie z. B. „%“, „_“ ' oder '', ein komplexerer Ansatz mit String-Escape ist erforderlich:

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

Das obige ist der detaillierte Inhalt vonWie binde ich LIKE-Werte mit der PDO-Erweiterung?. 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