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() » ?
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
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!