Maison >développement back-end >tutoriel php >Comment puis-je encoder les résultats d'une requête MySQL au format JSON en PHP ?

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

Susan Sarandon
Susan Sarandonoriginal
2024-12-25 05:35:21119parcourir

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

Encodage des résultats de requête MySQL en JSON

Pour encoder les résultats de requête MySQL au format JSON, vous pouvez utiliser la fonction json_encode() fournie par PHP . La fonction prend un tableau associatif comme entrée et le convertit en représentation JSON.

Utilisation

Pour appliquer json_encode() aux résultats de la requête MySQL, vous devez d'abord récupérer les résultats sous forme de tableau. Une approche consiste à parcourir chaque ligne de l'ensemble de résultats et à créer un tableau de tableaux de lignes individuels :

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

Alternativement, si vous utilisez une version de PHP supérieure ou égale à 5.2 et que vous disposez du php- json installé, vous pouvez utiliser la fonction mysqli_fetch_all() pour récupérer l'intégralité du jeu de résultats sous forme de array :

$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC); // Assoc arrays in rows
print json_encode($rows);

Considérations

Notez qu'il n'est pas recommandé d'appliquer json_encode() directement à l'ensemble de l'objet de résultats, car cela peut entraîner une sortie JSON non valide. Par conséquent, il est crucial de convertir d’abord les résultats en tableau avant de l’encoder.

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