Maison  >  Article  >  développement back-end  >  PHP convertit les résultats de la requête en un tableau à deux dimensions

PHP convertit les résultats de la requête en un tableau à deux dimensions

WBOY
WBOYoriginal
2023-05-05 20:23:07488parcourir

php est un langage de programmation populaire souvent utilisé pour développer des applications Web. L'interrogation de la base de données est l'une des opérations courantes en PHP et les résultats de la requête doivent être renvoyés sous la forme d'un tableau. Cet article décrira comment convertir les résultats d'une requête en un tableau à deux dimensions.

1. Résultats de la requête

En php, utilisez mysqli ou PDO pour vous connecter à la base de données pour les opérations de requête. Voici un exemple de code utilisant une requête mysqli :

$mysqli = new mysqli("localhost", "user", "password", "database");
$sql = "SELECT name, age FROM users";
$result = $mysqli->query($sql);

Exemple de code utilisant PDO :

$pdo = new PDO("mysql:host=localhost;dbname=database", "user", "password");
$sql = "SELECT name, age FROM users";
$result = $pdo->query($sql);

Qu'il s'agisse de mysqli ou de PDO, après avoir exécuté l'instruction de requête, un objet d'ensemble de résultats sera restitué.

2. Convertissez les résultats en tableau

Il existe deux façons de convertir les résultats d'une requête en tableau. La première consiste à utiliser la fonction fetch fournie avec mysqli ou PDO. , conversion ligne par ligne ; l'autre consiste à extraire l'ensemble des résultats dans un tableau à la fois.

  1. méthode fetch()

La méthode fetch est utilisée pour extraire une ligne de données de l'ensemble de résultats et déplacer le pointeur vers le bas rangée. La méthode fetch() peut être appelée dans une boucle pour obtenir l’intégralité du jeu de résultats. Voici un exemple de code :

// mysqli示例代码
$rows = array();
while ($row = $result->fetch_assoc()) {
    $rows[] = $row;
}

// PDO示例代码
$rows = array();
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
    $rows[] = $row;
}

Le code ci-dessus utilise fetch_assoc() ou FETCH_ASSOC pour récupérer un tableau associatif. Vous pouvez également utiliser fetch_array() ou FETCH_BOTH pour obtenir un tableau contenant des nombres et des clés associées, fetch_object() ou FETCH_OBJ. Renvoie l'objet. La méthode

  1. fetch_all() La méthode

fetch_all() consiste à récupérer l'ensemble des résultats dans le tableau à la fois. fetch_all() est une fonction dans PDO. Dans MySQLi, vous devez utiliser get_result() pour obtenir l'objet jeu de résultats. Voici un exemple de code :

// mysqli示例代码
$rows = $result->get_result()->fetch_all(MYSQLI_ASSOC);

// PDO示例代码
$rows = $result->fetch_all(PDO::FETCH_ASSOC);

Le code ci-dessus extrait l'ensemble de résultats en une seule fois et stocke toutes les données de l'ensemble de résultats dans un tableau bidimensionnel sous la forme d'un tableau associatif.

3. Résumé

Les deux méthodes présentées ci-dessus ont leurs propres avantages et inconvénients. L'utilisation de la méthode fetch() permet de traiter les résultats ligne par ligne, ce qui est plus flexible, mais nécessite beaucoup de code. Traitez chaque ligne de données. La méthode fetch_all() peut récupérer l'intégralité du résultat en une seule fois. Le code est simple, mais lorsque la quantité de données est trop importante, elle peut occuper trop de mémoire.

Dans le développement réel, vous pouvez choisir une méthode adaptée en fonction de la situation réelle. Si le jeu de résultats de la requête est petit, vous pouvez utiliser la méthode fetch() ; sinon, il est recommandé d'utiliser la méthode fetch_all().

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