Renvoi d'entiers et de valeurs numériques depuis MySQL sous forme d'entiers et de valeurs numériques en PHP
De nombreux développeurs rencontrent le problème des requêtes MySQL renvoyant des colonnes entières et numériques sous la forme chaînes en PHP. Cela est dû au comportement par défaut du pilote MySQL natif, qui ne prend pas en charge le renvoi de types numériques.
La solution : utiliser le pilote mysqlnd
La solution est pour utiliser le pilote mysqlnd pour PHP. Le pilote mysqlnd est un pilote plus moderne et riche en fonctionnalités qui offre la possibilité de renvoyer des colonnes numériques sous forme d'entiers et de chiffres.
Identifier si vous utilisez mysqlnd
Pour vérifier si vous utilisez le pilote mysqlnd, ouvrez la page d'informations PHP (php -i) et regardez sous la section "Pilote PDO pour MySQL". S'il mentionne "mysqlnd", alors vous utilisez le pilote mysqlnd. Sinon, vous utilisez probablement le pilote MySQL natif.
Installer mysqlnd sur Ubuntu
Pour installer le pilote mysqlnd sur Ubuntu, vous pouvez utiliser la commande :
sudo apt-get install php5-mysqlnd
Redémarrage d'Apache
Après avoir installé le pilote mysqlnd, vous devez redémarrer Apache pour que les modifications prennent effet.
Vérification du pilote
Une fois Apache redémarré, vous pouvez vérifier à nouveau si le pilote mysqlnd est en cours d'exécution. utilisé en ouvrant la page d'informations PHP (php -i). Il doit maintenant mentionner explicitement "mysqlnd" dans la section "Pilote PDO pour MySQL".
Paramètres PDO
Assurez-vous que les paramètres PDO suivants sont définis sur false pour éviter les problèmes potentiels :
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
Retourné Valeurs
En fonction du type de base de données, différents types de données seront renvoyés comme suit :
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!