JSON_ENCODE renvoie NULL pour les champs de base de données
Lorsque vous travaillez avec MySQL et PHP, vous pouvez rencontrer un problème où json_encode() renvoie NULL pour les champs dans votre base de données. Voici un exemple spécifique :
$result = mysql_query('SELECT * FROM `staff` ORDER BY `id` DESC LIMIT 2') or die(mysql_error()); $rows = array(); while($row = mysql_fetch_assoc($result)){ $rows[] = $row; } echo json_encode($rows);
Cause possible :
Après avoir étudié le schéma de votre base de données et la sortie renvoyée, il est probable que vous récupériez des données dans un format non -UTF8 encodage.
Solution :
Pour résoudre ce problème, ajoutez la ligne suivante avant votre requête SELECT :
mysql_query('SET CHARACTER SET utf8');
Cette commande garantit que votre La connexion MySQL utilise le codage UTF-8, qui est requis pour que json_encode() gère correctement les caractères UTF-8 dans votre base de données champs.
Code mis à jour :
mysql_query('SET CHARACTER SET utf8'); $result = mysql_query('SELECT * FROM `staff` ORDER BY `id` DESC LIMIT 2') or die(mysql_error()); $rows = array(); while($row = mysql_fetch_assoc($result)){ $rows[] = $row; } echo json_encode($rows);
Sortie attendue :
Maintenant, lorsque vous exécutez le code mis à jour, vous devriez obtenir le résultat suivant, où le champ « description » contient des valeurs non NULL :
[{"id":"4","name":"Noter 2","description":"Description of Noter 2","icon":"http:\/\/images.apple.com\/webapps\/productivity\/images\/noter2_20091223182720-thumb.jpg","date":"1262032317","company":"dBelement, LLC","companyurl":"http:\/\/dbelement.com\/","appurl":"http:\/\/noter2.dbelement.com"},{"id":"3","name":"Noter 2","description":"Description of Noter 2","icon":"http:\/\/images.apple.com\/webapps\/productivity\/images\/noter2_20091223182720-thumb.jpg","date":"1262032317","company":"dBelement, LLC","companyurl":"http:\/\/dbelement.com\/","appurl":"http:\/\/noter2.dbelement.com"}]
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!