Comment résoudre les écarts entre les variables et les paramètres dans les instructions préparées ?

Mary-Kate Olsen
Libérer: 2024-10-22 12:19:03
original
196 Les gens l'ont consulté

How to Resolve Discrepancy Between Variables and Parameters in Prepared Statements?

bind_param : écart entre les variables et les paramètres dans l'instruction préparée

Votre extrait de code rencontre une erreur : "Le nombre de variables ne correspond pas au nombre des paramètres dans la déclaration préparée. " Cela indique une inadéquation entre les variables de votre fonction bind_param() et les espaces réservés (?) dans votre instruction préparée.

Pour résoudre ce problème, assurez-vous que votre instruction préparée remplace avec précision toutes les variables par des points d'interrogation. Supprimez les guillemets autour des points d'interrogation, comme indiqué dans le code corrigé ci-dessous :

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

Le nombre de points d'interrogation doit toujours correspondre au nombre de variables transmises à bind_param(). Dans votre code d'origine, il y avait deux variables ($year, $make) mais un seul point d'interrogation dans l'instruction préparée, conduisant à l'erreur.

De plus, assurez-vous que les types de données des variables correspondent aux données. types de colonnes de la base de données. Par exemple, si la colonne année de la base de données est un entier, alors $year doit être converti en entier avant la liaison.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!