Maison >base de données >tutoriel mysql >Pourquoi les champs entiers MySQL sont-ils récupérés sous forme de chaînes en PHP et comment puis-je y remédier ?

Pourquoi les champs entiers MySQL sont-ils récupérés sous forme de chaînes en PHP et comment puis-je y remédier ?

DDD
DDDoriginal
2024-12-11 20:13:11354parcourir

Why Are MySQL Integer Fields Retrieved as Strings in PHP, and How Can I Fix It?

Récupération de champs entiers MySQL en PHP

Lors de la récupération de données entières d'une base de données MySQL vers PHP, il peut être surprenant de constater que le retour value est plutôt une chaîne. Cet article aborde ce problème et propose une solution.

Problème :

Considérez une table MySQL avec un champ :

userid INT(11)

Récupération de ce champ avec la requête suivante :

SELECT userid FROM DB WHERE name='john'

et traitement du résultat as :

$row=$result->fetch_assoc();

$id=$row['userid'];

echo gettype($id); // Outputs: string

révèle que la valeur de $id est une chaîne, pas un entier.

Solution :

Les types de données MySQL sont toujours converti en chaînes lorsqu'il est récupéré à l'aide de PHP. Pour reconvertir la chaîne en entier, utilisez l'une des méthodes suivantes :

$id = (int) $row['userid']; // Explicit typecasting

$id = intval($row['userid']); // Using the intval() function

En employant l'une ou l'autre de ces méthodes, vous pouvez vous assurer que vos valeurs entières sont correctement interprétées et traitées dans votre script PHP.

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