Maison >développement back-end >tutoriel php >Pourquoi les champs entiers MySQL sont-ils renvoyés sous forme de chaînes en 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 :
$id = (int) $row['userid'];
$id = intval($row['userid']);
$stmt = $conn->prepare("SELECT userid FROM DB WHERE name='john'"); $stmt->execute(); $row = $stmt->fetch(\PDO::FETCH_ASSOC); $id = $row['userid']; // Returns an integer
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!