Heim  >  Artikel  >  Backend-Entwicklung  >  Warum erhalte ich in MySQL bei vorbereiteten Anweisungen den Fehler „Anzahl der Variablen stimmt nicht mit der Anzahl der Parameter überein“?

Warum erhalte ich in MySQL bei vorbereiteten Anweisungen den Fehler „Anzahl der Variablen stimmt nicht mit der Anzahl der Parameter überein“?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-22 10:57:30717Durchsuche

Why Do I Receive

Frage: Warum erhalte ich in MySQL „bind_param: Anzahl der Variablen stimmt nicht mit der Anzahl der Parameter überein“?

In einem PHP-Skript, das MySQL verwendet, stehen Sie vor der Meldung „bind_param: Anzahl der Variablen stimmt nicht mit der Anzahl der Parameter überein“. Beim Ausführen einer vorbereiteten Anweisung tritt ein Problem auf, bei dem die Warnung „Anzahl der Variablen stimmt nicht mit der Anzahl der Parameter in der vorbereiteten Anweisung überein“ angezeigt wird. Dies kann auftreten, wenn die Anzahl der Fragezeichen in der vorbereiteten Anweisung nicht mit der Anzahl der in der bind_param()-Methode gebundenen Variablen übereinstimmt.

Lösung:

Um dieses Problem zu beheben, stellen Sie sicher, dass Die Anzahl der Fragezeichen in der vorbereiteten Anweisung entspricht der Anzahl der an bind_param() übergebenen Variablen. Hier ist ein Beispiel für einen korrigierten Codeausschnitt:

<code class="php">$stmt = $mysqli->prepare("SELECT DISTINCT model FROM vehicle_types WHERE year = ? AND make = ? ORDER by model");
$stmt->bind_param('is', $year, $make);
$stmt->execute();</code>

In diesem Beispiel enthält die vorbereitete Anweisung zwei Fragezeichen und die bind_param()-Methode bindet zwei Variablen, $year und $make. Der erste Buchstabe in „is“ gibt den Typ des ersten Parameters (Ganzzahl) an und der zweite Buchstabe gibt den Typ des zweiten Parameters (Zeichenfolge) an.

Denken Sie daran, dass Sie beim Vorbereiten einer Anweisung jeden ersetzen müssen Variable mit einem Fragezeichen ohne Anführungszeichen. Ein Fragezeichen in Anführungszeichen wird nicht als Platzhalter interpretiert.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in MySQL bei vorbereiteten Anweisungen den Fehler „Anzahl der Variablen stimmt nicht mit der Anzahl der Parameter überein“?. 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