Maison  >  Article  >  développement back-end  >  Le signe deux-points est-il facultatif dans les noms de paramètres PDOStatement::bindParam() ?

Le signe deux-points est-il facultatif dans les noms de paramètres PDOStatement::bindParam() ?

DDD
DDDoriginal
2024-11-14 09:58:02524parcourir

Is the Leading Colon Optional in PDOStatement::bindParam() Parameter Names?

Côlon facultatif dans les noms des paramètres PDOStatement::bindParam()

La documentation PHP pour PDOStatement::bindParam() indique que le paramètre L'identifiant des espaces réservés nommés doit avoir la forme ":name". Cependant, certains utilisateurs ont observé que les deux points semblent être facultatifs.

Le côlon est-il facultatif ?

Selon la documentation, non, les deux points ne devraient pas être omis. L'absence de mention explicite des deux-points facultatifs suggère que ce comportement n'est pas officiellement pris en charge et ne doit pas être invoqué.

Mais attendez, ça marche...

Curieusement, dans PHP 5.3.24 (et éventuellement dans d'autres versions), l'omission des deux points de début fonctionne effectivement. En effet, en interne, un deux-points est ajouté au paramètre s'il est manquant. Ce comportement se retrouve dans le code source de ext/pdo/pdo_stmt.c:363 (en PHP 5.3.24).

Implications

Bien que cette solution de contournement fonctionne actuellement , il doit être utilisé avec prudence. Les futures versions de PHP ou les modifications du comportement de PDO pourraient interrompre cette fonctionnalité. Par conséquent, il est recommandé de respecter la documentation et de toujours inclure les deux points lorsque vous utilisez des espaces réservés nommés avec PDOStatement::bindParam().

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