Maison > développement back-end > tutoriel php > Pourquoi les champs entiers MySQL sont-ils renvoyés sous forme de chaînes en PHP ?

Pourquoi les champs entiers MySQL sont-ils renvoyés sous forme de chaînes en PHP ?

Linda Hamilton
Libérer: 2024-12-18 11:11:14
original
341 Les gens l'ont consulté

Why Are MySQL Integer Fields Returned as Strings in PHP?

Champs entiers MySQL renvoyés sous forme de chaînes en PHP

Lors de la récupération de données d'une base de données MySQL à l'aide de PHP, il est généralement observé que des champs entiers sont renvoyés comme des chaînes. Cela peut être déconcertant, car on pourrait s'attendre à ce qu'un champ entier donne une valeur entière.

Pour comprendre ce comportement, il est essentiel de noter que PHP convertit automatiquement toutes les données récupérées depuis MySQL en chaînes. Cette conversion se produit quel que soit le type de données réel dans la base de données.

Pour contourner ce problème et obtenir la valeur entière correcte, il existe deux approches viables :

  1. Casting de type explicite  : Pour convertir explicitement une chaîne en entier, vous pouvez utiliser l'opérateur de conversion de type (int) ou intval() fonction.
$id = (int) $row['userid'];
Copier après la connexion
$id = intval($row['userid']);
Copier après la connexion
  1. PDO : si vous utilisez PHP Data Objects (PDO), vous pouvez tirer parti de sa conversion de type de données intégrée. capacités. En définissant le mode de récupération sur PDO::FETCH_ASSOC, vous pouvez récupérer des données avec les types de données appropriés, y compris des entiers.
$stmt = $conn->prepare("SELECT userid FROM DB WHERE name='john'");
$stmt->execute();
$row = $stmt->fetch(\PDO::FETCH_ASSOC);
$id = $row['userid']; // Returns an integer
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal