json_encode de ne pas retourner quelque chose
Je suis en train de convertir mes tables MYSQL données en JSON. Je suis en train d'essayer avec json_encode(). Mais il ne fonctionne pas. Elle ne retourne rien. J'ai vérifié la console,n'a même pas de jeter des erreurs. Ce qui me manque?
<?php
//open connection to mysql db
$connection = mysqli_connect("localhost","root","","maps") or die("Error " . mysqli_error($connection));
//fetch table rows from mysql db
$sql = "select * from locations";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));
//create an array
$emparray[] = array();
while($row =mysqli_fetch_assoc($result))
{
$emparray[] = $row;
}
echo json_encode($emparray);
//close the db connection
mysqli_close($connection);
?>
Avez-vous vérifié que votre requête est en fait retour des résultats?
Oui, j'ai utilisé la requête dans phpMyAdmin et c'est le retour des résultats.
Mais ce n'est pas votre code. Assurez-vous qu'il est de retour les résultats dans votre code.
pouvez-vous faire un var_dump($emparray); et de vérifier si le résultat est de retourner quoi que ce soit?
oui var_dump() retourne les résultats.
Oui, j'ai utilisé la requête dans phpMyAdmin et c'est le retour des résultats.
Mais ce n'est pas votre code. Assurez-vous qu'il est de retour les résultats dans votre code.
pouvez-vous faire un var_dump($emparray); et de vérifier si le résultat est de retourner quoi que ce soit?
oui var_dump() retourne les résultats.
OriginalL'auteur hhs | 2015-09-19
Vous devez vous connecter pour publier un commentaire.
essayer cette
ou
ou
au lieu de
wc 🙂 en fait, dans chaque ligne est convertie en json, plus tard, tout ensemble
OriginalL'auteur aimme
Je sais que c'est vieux, mais je n'ai pas trouvé l'explication de cette erreur, dans mon cas, le problème était respectée, les valeurs sur la DB avec des accents de marque (Ej: cafetería). le var_dump($emparray ) certanly afficher des informations, mais l'écho json_ecode($emparray ) ne montre rien. La solution?
C'est ma DB connexion:
$connection = mysqli_connect('ip,'user','pass','dbname')
or die("Error " . mysqli_error($connection));
Seulement besoin d'ajouter le bon charset:
mysqli_set_charset( $connection, 'utf8');
Expetcs ce travail pour les autres.
OriginalL'auteur Kadaiser
J'ai eu le même drôle de question (en utilisant PDO) et dans mon cas, il a contribué à ajouter de l'UTF-8 réglage de la requête de l'une des deux:
$conn->query("SET CHARACTER SET utf8;");
fonctionne pour moi alors que$conn->query("SET collation_connection = utf8_unicode_ci;");
ne l'est pas.OriginalL'auteur Patty Matheson
Ajouter cette ligne et il fonctionne parfaitement:
OriginalL'auteur Usama Shahid
J'ai eu un problème similaire mais quand j'ai essayé les solutions ci-dessus, il me fit un 1-dimensions tableau de JSON comme des chaînes au lieu d'un tableau 2d. Je l'ai résolu en exécutant
$.parseJSON
(jQuery) sur chaque élément.OriginalL'auteur ECQuant