Maison >base de données >tutoriel mysql >Pourquoi mon champ entier MySQL est-il renvoyé sous forme de chaîne en PHP ?

Pourquoi mon champ entier MySQL est-il renvoyé sous forme de chaîne en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-17 10:47:25808parcourir

Why Is My MySQL Integer Field Returned as a String in PHP?

Champ entier MySQL renvoyé sous forme de chaîne en PHP

Ce problème survient lors de la récupération de données d'une base de données MySQL à l'aide de PHP. Quel que soit le type de données défini dans la base de données, les données sont toujours renvoyées par défaut sous forme de chaîne en PHP. Cet écart peut être déroutant, surtout si l'on s'attend à ce qu'un champ entier se comporte comme tel.

Dans votre cas spécifique, avec l'ID utilisateur du champ de base de données déclaré comme INT(11), les données sont récupérées à l'aide de la requête :

"SELECT userid FROM DB WHERE name='john'"

Pour gérer le résultat, vous utilisez :

$row=$result->fetch_assoc();
$id=$row['userid'];

Cependant, lors de la vérification du type de données de $id à l'aide de echo gettype($id);, il renvoie "string" au lieu de "integer".

Solution

Pour résoudre ce problème, PHP fournit des méthodes pour convertir la chaîne récupérée les données dans un format entier. Vous pouvez utiliser le code suivant :

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

Alternativement, vous pouvez également utiliser la fonction intval() :

$id = intval($row['userid']);

En effectuant cette conversion, vous vous assurez que la variable $id est correctement reconnu comme un type de données entier, permettant une manipulation et des opérations appropriées en tant qu'entier.

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