Maison >développement back-end >tutoriel php >Pourquoi PDO renvoie-t-il des chaînes au lieu de chiffres depuis MySQL et comment puis-je y remédier ?

Pourquoi PDO renvoie-t-il des chaînes au lieu de chiffres depuis MySQL et comment puis-je y remédier ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-31 14:35:09349parcourir

Why Does PDO Return Strings Instead of Numbers from MySQL, and How Can I Fix It?

PDO : Récupération de données numériques MySQL

Lors de la récupération de valeurs entières à partir de MySQL à l'aide de PDO, il est courant de rencontrer des représentations sous forme de chaîne de nombres plutôt que des nombres réels. données numériques. Pour remédier à cela, vous pouvez envisager d'utiliser l'attribut PDO::ATTR_STRINGIFY_FETCHES. Cependant, cet attribut ne s'applique pas au pilote MySQL.

Au lieu de cela, vous pouvez désactiver l'émulation des instructions préparées pour permettre au pilote natif MySQL de renvoyer les types de données natifs. Ceci peut être réalisé par :

new PDO($dsn, $user, $pass, array(
    PDO::ATTR_EMULATE_PREPARES => false
))

Bien que recevoir des chaînes pour des valeurs numériques puisse sembler inhabituel, c'est un phénomène courant en raison du comportement par défaut des pilotes MySQL. En modifiant l'émulation de l'instruction préparée, vous pouvez vous assurer que les valeurs numériques sont récupérées comme prévu.

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