Comment convertir les résultats d'une requête en tableau en php

PHPz
Libérer: 2023-04-26 14:51:41
original
1126 Les gens l'ont consulté

Aujourd'hui, je souhaite partager avec vous comment convertir les résultats d'une requête en tableau en PHP. Dans le développement Web, nous avons souvent besoin d’extraire des données d’une base de données et de les afficher sur une page Web. Utiliser PHP et MySQL est un choix très courant. Lorsque nous exécutons une requête et obtenons les résultats, nous obtenons généralement un objet de jeu de résultats, qui contient plusieurs enregistrements. Afin de faciliter le traitement et la manipulation de ces données, nous pouvons les convertir en tableau.

En PHP, nous pouvons utiliser l'extension mysqli et l'extension PDO pour nous connecter à la base de données MySQL. Les deux extensions fournissent des méthodes pour convertir les résultats des requêtes en tableaux. Dans cet article, je présenterai chacune de ces deux méthodes.

1. Utilisez l'extension mysqli pour convertir les résultats de la requête en tableau

mysqli est l'extension de base de données MySQL recommandée pour PHP 5 et supérieur. Il fournit un ensemble d'interfaces orientées objet, notamment la connexion à la base de données MySQL, l'exécution de requêtes SQL, le traitement des résultats, etc. Parmi eux, la classe mysqli_result est un objet représentant le jeu de résultats. Nous pouvons convertir le jeu de résultats en tableau en appelant la méthode fetch_array dans la classe mysqli_result. La méthode

fetch_array accepte un paramètre indiquant le type de tableau à retourner. Par défaut, il renvoie un tableau contenant le numéro et l'index associé. Nous pouvons spécifier le type de tableau à renvoyer en utilisant les constantes MYSQLI_ASSOC, MYSQLI_NUM ou MYSQLI_BOTH dans les paramètres transmis.

Voici un exemple :

// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database');

// 执行查询,获取结果集对象
$result = $conn->query('SELECT * FROM users');

// 将结果集转换为数组
$rows = $result->fetch_array(MYSQLI_ASSOC);

// 输出数组
print_r($rows);
Copier après la connexion

Ce code affichera la première ligne de données dans les résultats de la requête. Si vous souhaitez afficher toutes les lignes de données, vous pouvez utiliser une boucle while.

// 连接数据库
$conn = new mysqli('localhost', 'username', 'password', 'database');

// 执行查询,获取结果集对象
$result = $conn->query('SELECT * FROM users');

// 遍历结果集,将每行数据转换为数组并输出
while ($row = $result->fetch_array(MYSQLI_ASSOC)) {
    print_r($row);
}
Copier après la connexion

2. Utilisez l'extension PDO pour convertir les résultats de la requête en tableau

PDO est une extension de base de données fournie dans PHP 5.1 et supérieur. Elle prend en charge une variété de bases de données, notamment MySQL, PostgreSQL, SQLite, Oracle, etc. L'extension PDO fournit un objet PDOStatement pour représenter l'ensemble de résultats après l'exécution de la requête SQL. Nous pouvons utiliser la méthode fetch dans l'objet pour convertir l'ensemble de résultats en tableau. La méthode

fetch accepte également un paramètre indiquant le type de tableau à renvoyer. Par défaut, il renvoie un tableau contenant le numéro et l'index associé. Nous pouvons spécifier le type de tableau à renvoyer en utilisant les constantes PDO::FETCH_ASSOC, PDO::FETCH_NUM ou PDO::FETCH_BOTH dans les paramètres transmis.

Voici un exemple :

// 连接数据库
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username';
$password = 'password';
$conn = new PDO($dsn, $username, $password);

// 执行查询,获取 PDOStatement 对象
$stmt = $conn->query('SELECT * FROM users');

// 将结果集转换为数组
$rows = $stmt->fetch(PDO::FETCH_ASSOC);

// 输出数组
print_r($rows);
Copier après la connexion

De même, si vous souhaitez afficher toutes les lignes de données, vous pouvez utiliser une boucle while :

// 连接数据库
$dsn = 'mysql:host=localhost;dbname=database';
$username = 'username';
$password = 'password';
$conn = new PDO($dsn, $username, $password);

// 执行查询,获取 PDOStatement 对象
$stmt = $conn->query('SELECT * FROM users');

// 遍历结果集,将每行数据转换为数组并输出
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    print_r($row);
}
Copier après la connexion

Résumé

Jusqu'ici, nous avons appris à utiliser les extensions mysqli et PDO pour convertir les résultats de la requête en tableau. Dans le développement réel, nous utilisons généralement des frameworks ou des ORM (tels que Laravel, Doctrine, etc.) pour simplifier ce processus. Mais comprendre cette implémentation de base est très important pour nous afin de comprendre les principes sous-jacents du développement Web. J'espère que cet article pourra être utile aux lecteurs.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal