Comment convertir les résultats d'une requête mysqli au format JSON ?
P粉794851975
2023-08-22 14:56:27
<p>J'ai une requête mysqli que je dois formater en JSON pour une application mobile. </p>
<p>J'ai généré avec succès un document XML des résultats de la requête, mais je recherche une solution plus légère. (Voir le code XML actuel ci-dessous) </p>
<pre class="brush:php;toolbar:false;">$mysql = new mysqli(DB_SERVER,DB_USER,DB_PASSWORD,DB_NAME) or die('Un problème est survenu lors de la connexion à la base de données');
$stmt = $mysql->prepare('SELECT DISTINCT title FROM sections ORDER BY title ASC');
$stmt->exécuter();
$stmt->bind_result($titre);
//Créer le format XML
$doc = nouveau DomDocument('1.0');
//Créer un nœud racine
$root = $doc->createElement('xml');
$root = $doc->appendChild($root);
//Ajouter des nœuds à chaque ligne
while($row = $stmt->fetch()) :
$occ = $doc->createElement('data');
$occ = $root->appendChild($occ);
$enfant = $doc->createElement('section');
$enfant = $occ->appendChild($enfant);
$value = $doc->createTextNode($title);
$value = $child->appendChild($value);
finir pendant ce temps;
$xml_string = $doc->saveXML();
header('Content-Type: application/xml; charset=ISO-8859-1');
// Sortie XML, jQuery est prêt
echo $xml_string;</pre>
<p><br /></p>
Voici comment je crée le flux JSON :
Créez simplement un tableau à partir des résultats de la requête et encodez-le
Les résultats de sortie sont les suivants :
Si vous souhaitez un autre style, vous pouvez remplacer fetch_assoc() par fetch_row() et obtenir le résultat suivant :