Maison >base de données >tutoriel mysql >Comment corriger les erreurs « Impossible de transmettre le paramètre par référence » lors de l'utilisation de PDO bindParam avec des constantes ?

Comment corriger les erreurs « Impossible de transmettre le paramètre par référence » lors de l'utilisation de PDO bindParam avec des constantes ?

DDD
DDDoriginal
2024-12-20 07:32:11259parcourir

How to Fix

Résolution de l'erreur « Impossible de transmettre le paramètre par référence » avec bindParam lors de l'utilisation de constantes

Lors de l'utilisation d'instructions préparées avec des constantes, une erreur du type « Impossible de transmettre le paramètre 2 par référence » pourrait survenir. Contrairement à bindParam, qui fonctionne avec des références et n'extrait pas de valeurs lors de l'exécution de bindParam, bindValue est destiné à cet effet.

Le code problématique :

$stmt->bindParam(':v1', PDO::PARAM_NULL);

Pour résoudre ce problème, remplacez bindParam avec bindValue et fournissez une valeur constante comme argument.

$stmt->bindValue(':v1', null, PDO::PARAM_INT);

Veuillez noter que l'utilisation de PDO::PARAM_NULL dans bindValue pourrait ne pas fonctionner pour tout le monde. Utilisez plutôt PDO::PARAM_INT ou une constante appropriée qui correspond au type de données de la colonne.

De plus, lorsque vous utilisez bindValue, vous devez spécifier le type de données à l'aide du troisième argument. Cela garantit que la base de données gère correctement la valeur.

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!

Déclaration:
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