Déclarations préparées PDO : réutilisation des espaces réservés nommés
Lorsque vous travaillez avec PDO, il peut être souhaitable de réutiliser des espaces réservés nommés dans une requête SQL préparée. Cependant, cela n'est pas possible en raison des limitations de la fonction PDO::prepare de PHP.
Selon la documentation PDO, "vous ne pouvez pas utiliser deux fois un marqueur de paramètre nommé du même nom dans une instruction préparée." Cela signifie que si vous essayez d'utiliser le même espace réservé plusieurs fois dans votre requête, par exemple :
SELECT :Param FROM Table WHERE Column = :Param
...la deuxième occurrence de l'espace réservé ":Param" sera remplacée par un espace réservé unique. nom par la fonction PDO::prepare. Lorsque vous liez votre valeur à l'espace réservé ":Param" à l'aide de PDO::bindValue(":Param"), la valeur sera uniquement définie pour la première occurrence de l'espace réservé. La deuxième occurrence restera indépendante, entraînant une erreur lors de l'exécution de la requête.
Par conséquent, il n'est pas possible de réutiliser des espaces réservés nommés dans une requête SQL préparée à l'aide de PDO. Si vous devez répéter la même valeur plusieurs fois dans votre requête, vous pouvez soit utiliser des espaces réservés de position (par exemple "?", ":1", etc.) ou créer plusieurs instructions préparées avec des noms d'espaces réservés différents.
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!