Heim > Backend-Entwicklung > PHP-Tutorial > Warum verursachten nicht übereinstimmende Variablen und Parameter einen Fehler in vorbereiteten MySQL-Anweisungen?

Warum verursachten nicht übereinstimmende Variablen und Parameter einen Fehler in vorbereiteten MySQL-Anweisungen?

Barbara Streisand
Freigeben: 2024-10-22 10:57:03
Original
253 Leute haben es durchsucht

Why Did Mismatched Variables and Parameters Cause an Error in mysqli Prepared Statements?

mysqli: „Anzahl der Variablen stimmt nicht mit der Anzahl der Parameter überein“

Als Reaktion auf das Problem bei der Verwendung der vorbereiteten Anweisungen von mysqli: Die Ursache liegt in der falschen Syntax der vorbereiteten Anweisung. Wie in der Antwort erwähnt, behebt die folgende Korrektur das Problem:

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

Bei der Erstellung einer Stellungnahme ist es wichtig, Platzhalter für Eingabedaten mit Fragezeichen zu versehen. Allerdings war in der ursprünglichen Anweisung der Platzhalter für die Make-Variable in Anführungszeichen gesetzt, sodass er nicht als Platzhalter erkennbar war. Folglich stimmte die Anzahl der Fragezeichen nicht mit der Anzahl der Variablen in bind_param() überein.

Daher beseitigt die korrigierte vorbereitete Anweisung diese Diskrepanz, indem die Anführungszeichen um das ? entfernt werden. Platzhalter, der die ordnungsgemäße Bindung von Eingabevariablen mithilfe von bind_param() ermöglicht. Dadurch wird sichergestellt, dass die Anweisung erfolgreich ausgeführt werden kann und die gewünschten Ergebnisse liefert.

Das obige ist der detaillierte Inhalt vonWarum verursachten nicht übereinstimmende Variablen und Parameter einen Fehler in vorbereiteten MySQL-Anweisungen?. 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