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!