Maison > Article > développement back-end > Pourquoi « bindParam » de PDO échoue-t-il avec les constantes et comment puis-je corriger l'erreur « Impossible de transmettre le paramètre 2 par référence » ?
Dépannage "Impossible de transmettre le paramètre 2 par référence" Erreur dans PDO bindParam
Lorsque vous tentez d'exécuter une instruction préparée à l'aide de la méthode bindParam de PDO, vous peut rencontrer une erreur si vous utilisez une valeur constante comme paramètre à lier. Cette erreur provient d'une incompréhension fondamentale du fonctionnement de bindParam.
bindParam attend une variable comme deuxième paramètre, vous permettant de modifier ultérieurement la valeur transmise à l'instruction. Ceci ne convient pas aux valeurs constantes, qui ne peuvent pas être modifiées. Pour résoudre ce problème, utilisez plutôt la méthode bindValue.
Exemple :
Remplacez :
$stmt->bindParam(':v1', PDO::PARAM_NULL);
Par :
$stmt->bindValue(':v1', null, PDO::PARAM_INT);
En utilisant bindValue, vous fournissez explicitement une valeur spécifique à l'espace réservé, éliminant ainsi le besoin d'une référence. Cela résout l'erreur et permet à votre instruction de s'exécuter correctement.
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!