Maison >base de données >tutoriel mysql >Comment récupérer les résultats d'une requête MySQL dans leurs types de données natifs en PHP ?

Comment récupérer les résultats d'une requête MySQL dans leurs types de données natifs en PHP ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 14:49:02644parcourir

How to Fetch MySQL Query Results in Their Native Data Types in PHP?

Récupération des résultats de requête MySQL dans le type de données natif

Lors de l'utilisation de MySQL en PHP, récupération des résultats de requête via des fonctions telles que mysql_fetch_row() et mysql_result( ) restitue généralement les valeurs numériques sous forme de chaînes. Cela n'est peut-être pas toujours idéal, surtout si vous devez travailler avec les données dans leur format d'origine.

En PHP 5.2, récupérer des données dans leur type de données natif n'est pas simple. Cependant, PHP 5.3 introduit le pilote mysqlnd, qui permet de renvoyer des types de données natifs lors de l'utilisation d'instructions préparées côté serveur. Cela signifie que les colonnes INT seront renvoyées sous forme d'entiers plutôt que de chaînes.

Par exemple, lors de l'utilisation de mysqlnd avec des instructions préparées, le code suivant renverra la colonne id sous forme d'entier :

<code class="php">$stmt = $conn->prepare("SELECT id FROM table_name WHERE name = ?");
$stmt->execute(array($name));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$id = $row['id'];</code>

Si vous ne parvenez pas à utiliser des instructions préparées ou si vous travaillez avec des versions PHP antérieures à 5.3, vous pouvez envisager d'utiliser un système de mappage personnalisé ou un outil de mappage objet-relationnel (ORM) pour convertir les résultats de la base de données en types de données PHP. Cependant, cette approche peut introduire des limitations lors de l'utilisation d'opérateurs sensibles au type comme === et !==.

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