Maison >base de données >tutoriel mysql >Comment puis-je encoder les résultats d'une requête MySQL au format JSON à l'aide de PHP ?

Comment puis-je encoder les résultats d'une requête MySQL au format JSON à l'aide de PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-24 15:38:10994parcourir

How Can I Encode MySQL Query Results as JSON Using PHP?

Encodage des résultats MySQL au format JSON

Utilisation de l'encodage JSON avec les résultats de requête MySQL

Pour générer les résultats de requête MySQL au format JSON, il existe deux options préférées méthodes : la fonction json_encode() et la fonction mysqli_fetch_all() function.

Utilisation de la fonction json_encode() :

Pour appliquer efficacement la fonction json_encode(), vous devez d'abord récupérer les résultats MySQL dans un tableau. Cela implique de parcourir l'ensemble de résultats et de remplir les éléments individuels d'un tableau à l'aide de la fonction mysqli_fetch_assoc(). Par la suite, vous pouvez encoder l'intégralité du tableau à l'aide de json_encode() et afficher le résultat sous forme de chaîne JSON.

Utilisation de la fonction mysqli_fetch_all() :

Versions modernes de PHP proposez une approche alternative avec la fonction mysqli_fetch_all(). Il vous permet de récupérer l’ensemble des résultats dans un tableau en une seule opération. Vous pouvez spécifier le format du tableau à l'aide de la constante MYSQLI_ASSOC pour obtenir un tableau associatif où les clés correspondent aux noms de colonnes. Une fois l'ensemble de résultats dans le tableau, vous pouvez appliquer json_encode() pour générer la sortie JSON.

Exemples de code :

// Using json_encode() with mysqli_fetch_assoc()
$sth = mysqli_query($conn, "SELECT ...");
$rows = array();
while($r = mysqli_fetch_assoc($sth)) {
    $rows[] = $r;
}
print json_encode($rows);

// Using mysqli_fetch_all()
$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result); // list arrays with values only in rows
// or
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC); // assoc arrays in rows

print json_encode($rows);

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn