Mysql => JSON
Résolu
Stéphanie
-
zola -
zola -
Bonjour,
J'essaie de récupérer des données d'un table d'une base Mysql, et de passer ce résultat en json.
Cependant je rencontre quelques difficultés.
Le code que j'utilise est le suivant :
Ce qu il se passe, c est que rien ne s'affiche.
Et le var_dump m'affiche :
Si qqun pouvait m'aider à comprendre ce qui ne va pas je lui en serait tres reconnaissante.
Merci
J'essaie de récupérer des données d'un table d'une base Mysql, et de passer ce résultat en json.
Cependant je rencontre quelques difficultés.
Le code que j'utilise est le suivant :
<?php
// Create connection
$con=mysqli_connect("localhost","user_test","#5teSt_pw=bdd","ios_bdd");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// This SQL statement selects ALL from the table
$sql = "SELECT * FROM tab_posts";
// Check if there are results
if ($result = mysqli_query($con, $sql))
{
// If so, then create a results array and a temporary one
// to hold the data
$resultArray = array();
$tempArray = array();
// Loop through each row in the result set
while($row = $result->fetch_object())
{
// Add each row into our results array
$tempArray = $row;
array_push($resultArray, $tempArray);
}
// Finally, encode the array to JSON and output the results
echo json_encode($resultArray);
var_dump($resultArray);
}
// Close connections
mysqli_close($result);
mysqli_close($con);
?>
Ce qu il se passe, c est que rien ne s'affiche.
Et le var_dump m'affiche :
array(2) { [0]=> object(stdClass)#3 (4) { ["id"]=> string(1) "1" ["titre"]=> string(18) "Mon premier post !" ["corps"]=> string(98) "Bonjour à tous! Ceci est mon premier post que je tente de récupérer dans une base mysql, en local." ["date"]=> string(10) "2014-06-21" } [1]=> object(stdClass)#4 (4) { ["id"]=> string(1) "2" ["titre"]=> string(14) "Remplissage =)" ["corps"]=> string(93) "Le remlplissage de la base de donnée avec des valeurs test, avant de les récuperer sur l'ios." ["date"]=> string(10) "2014-06-21" } }
Si qqun pouvait m'aider à comprendre ce qui ne va pas je lui en serait tres reconnaissante.
Merci
A voir également:
- Mysql => JSON
- Mysql community server - Télécharger - Bases de données
- Mysql error 2002 ✓ - Forum Linux / Unix
- Mysql a répondu : documentation connexion impossible : paramètres incorrects. - Forum Bases de données
- Importer marque page firefox json ✓ - Forum Mozilla Firefox
- Mysql fatal error ✓ - Forum MySQL
10 réponses
Bonjour
Tes données sont-elles encodées en utf-8 ? C'est indispensable pour JSON.
Tes données sont-elles encodées en utf-8 ? C'est indispensable pour JSON.
Stéphanie
Et bien non il ne me semble pas. Je vais aller voir ca dans la base de suite.
Essayez ce code:
<?php // Create connection $con=mysqli_connect("localhost","user_test","#5teSt_pw=bdd","ios_bdd"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } // This SQL statement selects ALL from the table $sql = "SELECT * FROM tab_posts"; // Check if there are results if ($result = mysqli_query($con, $sql)) { // If so, then create a results array and a temporary one // to hold the data $resultArray = array(); $tempArray = array(); // Loop through each row in the result set while($row = $result->fetch_object()) { // Add each row into our results array $tempArray = $row; array_push($resultArray, $tempArray); } // Finally, encode the array to JSON and output the results $json = json_encode($resultArray); $error = json_last_error(); var_dump($json); echo '<br>erreur : ' . $error; } // Close connections mysqli_close($result); mysqli_close($con); ?>
Merci de répondre aussi vite zermat.
Cependant, j'ai essayé avec un fetch_assoc() et j'ai le même soucis.
Cependant, j'ai essayé avec un fetch_assoc() et j'ai le même soucis.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Que donne :
echo 'json encode :<br>' . json_encode($resultArray);
echo '<br>var dump:<br>';
var_dump($resultArray);
echo '<br>var export:<br>';
var_export($resultArray);
echo 'json encode :<br>' . json_encode($resultArray);
echo '<br>var dump:<br>';
var_dump($resultArray);
echo '<br>var export:<br>';
var_export($resultArray);
json encode :
var dump:
array(2) { [0]=> array(4) { ["id"]=> string(1) "1" ["titre"]=> string(18) "Mon premier post !" ["corps"]=> string(98) "Bonjour à tous! Ceci est mon premier post que je tente de récupérer dans une base mysql, en local." ["date"]=> string(10) "2014-06-21" } [1]=> array(4) { ["id"]=> string(1) "2" ["titre"]=> string(14) "Remplissage =)" ["corps"]=> string(93) "Le remlplissage de la base de donnée avec des valeurs test, avant de les récuperer sur l'ios." ["date"]=> string(10) "2014-06-21" } }
var export:
array ( 0 => array ( 'id' => '1', 'titre' => 'Mon premier post !', 'corps' => 'Bonjour à tous! Ceci est mon premier post que je tente de récupérer dans une base mysql, en local.', 'date' => '2014-06-21', ), 1 => array ( 'id' => '2', 'titre' => 'Remplissage =)', 'corps' => 'Le remlplissage de la base de donnée avec des valeurs test, avant de les récuperer sur l\'ios.', 'date' => '2014-06-21', ), )
var dump:
array(2) { [0]=> array(4) { ["id"]=> string(1) "1" ["titre"]=> string(18) "Mon premier post !" ["corps"]=> string(98) "Bonjour à tous! Ceci est mon premier post que je tente de récupérer dans une base mysql, en local." ["date"]=> string(10) "2014-06-21" } [1]=> array(4) { ["id"]=> string(1) "2" ["titre"]=> string(14) "Remplissage =)" ["corps"]=> string(93) "Le remlplissage de la base de donnée avec des valeurs test, avant de les récuperer sur l'ios." ["date"]=> string(10) "2014-06-21" } }
var export:
array ( 0 => array ( 'id' => '1', 'titre' => 'Mon premier post !', 'corps' => 'Bonjour à tous! Ceci est mon premier post que je tente de récupérer dans une base mysql, en local.', 'date' => '2014-06-21', ), 1 => array ( 'id' => '2', 'titre' => 'Remplissage =)', 'corps' => 'Le remlplissage de la base de donnée avec des valeurs test, avant de les récuperer sur l\'ios.', 'date' => '2014-06-21', ), )
faite une page test.php avec ce code
et vérifier que json support est enabled
Notez aussi la version de php si la version de php < 5.2 ce que votre version de php ne supporte pas JSON
<?php phpinfo(); ?>
et vérifier que json support est enabled
Notez aussi la version de php si la version de php < 5.2 ce que votre version de php ne supporte pas JSON
changer le contenu de test.php comme ça:
que donne ce code ?
<?php $arr = array ( 0 => array ( 'id' => '1', 'titre' => 'Mon premier post !', 'corps' => 'Bonjour à tous! Ceci est mon premier post que je tente de récupérer dans une base mysql, en local.', 'date' => '2014-06-21', ), 1 => array ( 'id' => '2', 'titre' => 'Remplissage =)', 'corps' => 'Le remlplissage de la base de donnée avec des valeurs test, avant de les récuperer sur l\'ios.', 'date' => '2014-06-21', ), ); echo json_encode($arr); ?>
que donne ce code ?
ca donne :
[{"id":"1","titre":"Mon premier post !","corps":"Bonjour \u00e0 tous! Ceci est mon premier post que je tente de r\u00e9cup\u00e9rer dans une base mysql, en local.","date":"2014-06-21"},{"id":"2","titre":"Remplissage =)","corps":"Le remlplissage de la base de donn\u00e9e avec des valeurs test, avant de les r\u00e9cuperer sur l'ios.","date":"2014-06-21"}]
j'ai donc ajouter :
Je vous remercie pr votre aide.
Une petite chose encore. Voici le rendu bien présenté que ca devrai avoir :
http://codewithchris.wpengine.netdna-cdn.com/img/json_results_from_php_service.jpg
et moi, ca s affiche sur 2 lignes comme ceux-ci:
[{"id":"1","titre":"Mon premier post","corps":"Contenu de mon premier post\u00a7\r\nEn base de donn\u00e9e mysql.","date":"2014-06-21"},{"id":"2","titre":"Remplissage","corps":"Deuxieme post. Remplissage pr recuperation json et recup vers ios.","date":"2014-06-21"}]
Est il possible de travailler la form ?
$con->set_charset("utf8");et ca fonctionne.
Je vous remercie pr votre aide.
Une petite chose encore. Voici le rendu bien présenté que ca devrai avoir :
http://codewithchris.wpengine.netdna-cdn.com/img/json_results_from_php_service.jpg
et moi, ca s affiche sur 2 lignes comme ceux-ci:
[{"id":"1","titre":"Mon premier post","corps":"Contenu de mon premier post\u00a7\r\nEn base de donn\u00e9e mysql.","date":"2014-06-21"},{"id":"2","titre":"Remplissage","corps":"Deuxieme post. Remplissage pr recuperation json et recup vers ios.","date":"2014-06-21"}]
Est il possible de travailler la form ?
salut Stéphanie, cela va faire 3 jour que je cherche à récupérer mes données sur une base de donnée que j'ai crée via phpmyadmin, j'arrive à me connecte sans soucis j'arrive à récupérer les infos mais j'arrive pas à les mettre en format Json. j'ai lu l'ensemble de ce post au dessus, j'ai tous essayer.
json version 1.2.1 => ma version de Json et elle est bien en enable
php 5.6.10=> ma version de php
$con->set_charset("utf8");=> je ne sais pas comment il faut poser cette parce j'ai fais un copier-coller(bien sûre j'ai changé $con par $link qui est ma variable de connexion mais rien ne s'affiche.
ma question est comment tu mets $con->set_charset ("utf8"); dans la page index pour obtenir qqch?
json version 1.2.1 => ma version de Json et elle est bien en enable
php 5.6.10=> ma version de php
$con->set_charset("utf8");=> je ne sais pas comment il faut poser cette parce j'ai fais un copier-coller(bien sûre j'ai changé $con par $link qui est ma variable de connexion mais rien ne s'affiche.
ma question est comment tu mets $con->set_charset ("utf8"); dans la page index pour obtenir qqch?
C'est grace à une extension de google chrome que ce rendu est possible.
Cette extension s'appelle JSONView
vous pouvez la télécharger ici:
https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc
une extension JSONView existe aussi pour firefox.
Cette extension s'appelle JSONView
vous pouvez la télécharger ici:
https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc
une extension JSONView existe aussi pour firefox.