Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann eine Nichtübereinstimmung der Bindungsparameternummern in vorbereiteten Anweisungen behoben werden?

Wie kann eine Nichtübereinstimmung der Bindungsparameternummern in vorbereiteten Anweisungen behoben werden?

Patricia Arquette
Freigeben: 2024-10-22 11:02:29
Original
875 Leute haben es durchsucht

How to Resolve Binding Parameter Number Mismatch in Prepared Statements?

"bind_param Number of Variables Doesn't Match Number of Parameters in Prepared Statement"

In Ihrem bereitgestellten Codeausschnitt ist die Warnung, auf die Sie gestoßen sind, auf eine Nichtübereinstimmung zwischen zurückzuführen Anzahl der Variablen in Ihrer bind_param()-Methode und die Anzahl der Parameter in Ihrer vorbereiteten Anweisung. Um dieses Problem zu lösen, muss unbedingt sichergestellt werden, dass diese beiden Zahlen übereinstimmen.

Die vorbereitete Anweisung, die Sie ursprünglich verwendet haben:

$stmt = $mysqli->prepare("SELECT DISTINCT model FROM vehicle_types 
    WHERE year = ? AND make = '?' ORDER by model");
Nach dem Login kopieren

enthält einen Fehler. Der Platzhalter für den Make-Parameter ist fälschlicherweise in Anführungszeichen („?“) eingeschlossen. In vorbereiteten Anweisungen sollten Platzhalter durch Fragezeichen ohne Anführungszeichen gekennzeichnet werden.

Die korrigierte vorbereitete Anweisung:

$stmt = $mysqli->prepare("
    SELECT DISTINCT model FROM vehicle_types WHERE year = ? AND make = ? ORDER by model
");
Nach dem Login kopieren

hat jetzt zwei Platzhalter, die den beiden Variablen in Ihrer bind_param()-Methode entsprechen:

$stmt->bind_param('is', $year, $make);
Nach dem Login kopieren

Indem Sie die falschen Anführungszeichen um den Make-Platzhalter entfernen, gleichen Sie die Anzahl der Variablen und Parameter an und beheben so den Nichtübereinstimmungsfehler.

Das obige ist der detaillierte Inhalt vonWie kann eine Nichtübereinstimmung der Bindungsparameternummern in vorbereiteten Anweisungen behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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