Maison > développement back-end > tutoriel php > Comment résoudre l'inadéquation des numéros de paramètres de liaison dans les instructions préparées ?

Comment résoudre l'inadéquation des numéros de paramètres de liaison dans les instructions préparées ?

Patricia Arquette
Libérer: 2024-10-22 11:02:29
original
902 Les gens l'ont consulté

How to Resolve Binding Parameter Number Mismatch in Prepared Statements?

"bind_param Le nombre de variables ne correspond pas au nombre de paramètres dans l'instruction préparée"

Dans l'extrait de code que vous avez fourni, l'avertissement que vous avez rencontré provient d'une incompatibilité entre le nombre de variables dans votre méthode bind_param() et le nombre de paramètres dans votre instruction préparée. Pour résoudre ce problème, il est crucial de s'assurer que ces deux nombres s'alignent.

L'instruction préparée que vous avez initialement utilisée :

$stmt = $mysqli->prepare("SELECT DISTINCT model FROM vehicle_types 
    WHERE year = ? AND make = '?' ORDER by model");
Copier après la connexion

contient une erreur. L'espace réservé pour le paramètre make est incorrectement placé entre guillemets ('?'). Dans les instructions préparées, les espaces réservés doivent être indiqués par des points d'interrogation sans guillemets.

L'instruction préparée corrigée :

$stmt = $mysqli->prepare("
    SELECT DISTINCT model FROM vehicle_types WHERE year = ? AND make = ? ORDER by model
");
Copier après la connexion

a désormais deux espaces réservés, correspondant aux deux variables de votre méthode bind_param() :

$stmt->bind_param('is', $year, $make);
Copier après la connexion

En éliminant les guillemets incorrects autour de l'espace réservé make, vous alignez le nombre de variables et de paramètres, résolvant ainsi l'erreur de non-concordance.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal