Heim > Backend-Entwicklung > PHP-Tutorial > Wie vermeide ich den Fehler „Anzahl der Variablen stimmt nicht überein', wenn LIKE „%{$var}%' mit vorbereiteten Anweisungen verwendet wird?

Wie vermeide ich den Fehler „Anzahl der Variablen stimmt nicht überein', wenn LIKE „%{$var}%' mit vorbereiteten Anweisungen verwendet wird?

Mary-Kate Olsen
Freigeben: 2024-12-01 21:52:13
Original
504 Leute haben es durchsucht

How to Avoid

So verwenden Sie LIKE '%{$var}%' richtig mit vorbereiteten Anweisungen

Beim Versuch, LIKE '%{$var}%' zu verwenden }%‘ mit vorbereiteten Anweisungen auftritt, tritt bei einigen Benutzern der Fehler auf: „Anzahl der Variablen stimmt nicht mit der Anzahl der Parameter in der vorbereiteten Anweisung überein.“ Dies liegt daran, dass vorbereitete Anweisungen eine bestimmte Anzahl von Parametern erfordern und die Syntax „%{$var}%“ keine eindeutige Parameteranzahl liefert.

Falsches Beispiel

$sql = 'SELECT * FROM `users` WHERE username LIKE \'%{?}%\' ';
Nach dem Login kopieren

Verbesserte Lösung

Um dieses Problem zu beheben, sollten Sie zunächst eine Variable erstellen, die den LIKE-Ausdruck enthält, mit die Platzhalter enthalten. Binden Sie dann die Variable mit der Methode bind_param() an die vorbereitete Anweisung.

$likeVar = "%" . $yourParam . "%";
$stmt = $mysqli->prepare("SELECT * FROM REGISTRY where name LIKE ?");
$stmt->bind_param("s", $likeVar);
$stmt->execute();
Nach dem Login kopieren

Durch Befolgen dieser Methode können Sie LIKE-Suchen mithilfe vorbereiteter Anweisungen effektiv durchführen und dabei die Groß-/Kleinschreibung beibehalten und Teilübereinstimmungen ermöglichen.

Das obige ist der detaillierte Inhalt vonWie vermeide ich den Fehler „Anzahl der Variablen stimmt nicht überein', wenn LIKE „%{$var}%' mit vorbereiteten Anweisungen verwendet wird?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage