Maison >développement back-end >tutoriel php >Comment puis-je encoder efficacement les résultats d'une requête MySQL au format JSON en PHP à l'aide de « json_encode() » ?

Comment puis-je encoder efficacement les résultats d'une requête MySQL au format JSON en PHP à l'aide de « json_encode() » ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-18 08:21:11854parcourir

How Can I Efficiently Encode MySQL Query Results as JSON in PHP Using `json_encode()`?

JSON Encodage des résultats MySQL avec json_encode()

json_encode() est une fonction pratique de PHP qui convertit les données au format JSON. Pour les résultats des requêtes MySQL, il existe différentes approches pour utiliser cette fonction.

Devez-vous parcourir manuellement chaque ligne ou pouvez-vous appliquer json_encode() à l'ensemble de l'objet de résultat ?

Utilisation de l'itération

Pour les anciennes versions de PHP, la méthode la plus simple consiste à parcourir chaque ligne du jeu de résultats à l'aide d'une boucle while. Voici un exemple :

<?php
$sth = mysqli_query($conn, "SELECT ...");
$rows = array();

while ($r = mysqli_fetch_assoc($sth)) {
  $rows[] = $r;
}

print json_encode($rows);
?>

Notez que json_encode() attend des tableaux associatifs (paires clé-valeur), donc mysqli_fetch_assoc() récupère les lignes sous forme de tableaux associatifs.

Utilisation de mysqli_fetch_all () (Approche moderne)

PHP moderne Les versions ont une fonction mysqli_fetch_all() intégrée qui vous permet de récupérer toutes les lignes en une seule fois. Cela simplifie le processus d'encodage :

<?php
$result = mysqli_query($conn, "SELECT ...");
$rows = mysqli_fetch_all($result); // list arrays with values only in rows

// Or, for associative arrays:
$rows = mysqli_fetch_all($result, MYSQLI_ASSOC);

print json_encode($rows);
?>

Notes supplémentaires

  • json_encode() nécessite PHP version 5.2 ou ultérieure.
  • Le php Le package -json est également nécessaire.
  • Si vous rencontrez des problèmes, assurez-vous d'avoir activé la prise en charge JSON. dans votre configuration PHP.

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