Maison >développement back-end >Problème PHP >Convertir la table de données de requête php en tableau

Convertir la table de données de requête php en tableau

WBOY
WBOYoriginal
2023-05-19 12:01:37534parcourir

Lors de l'utilisation de MySQL comme base de données en PHP, il est souvent nécessaire de convertir les données du tableau de données interrogées au format tableau. Cette méthode est très courante car les tableaux sont l'un des types de données couramment utilisés en PHP et lors de l'écriture de code de requête, vous devez souvent utiliser des tableaux PHP pour le traitement et la conversion des données.

Ci-dessous, nous présenterons une méthode simple pour convertir les résultats d'une requête dans MySQL au format tableau PHP.

  1. Utiliser mysql_fetch_array

php La manière la plus simple d'interroger la table de données mysql et de la convertir en tableau est d'utiliser la fonction mysql_fetch_array. La fonction de cette fonction est de convertir les résultats de la requête MySQL à partir d'enregistrements de données ligne par ligne en données de type tableau PHP. La syntaxe de cette fonction est la suivante :

mysql_fetch_array(resource $result [, int $result_type =  MYSQL_BOTH ])

Parmi eux, le premier paramètre est le jeu de résultats de la requête MySQL et le deuxième paramètre est un paramètre facultatif, indiquant le type de tableau qui doit être renvoyé. MYSQL_BOTH signifie renvoyer à la fois des tableaux associatifs et des tableaux numériques. De plus, il peut également être défini sur MYSQL_ASSOC et MYSQL_NUM pour renvoyer respectivement uniquement des tableaux associatifs ou numériques.

L'exemple de code est le suivant :

// 连接数据库
$conn = mysql_connect('localhost','root','');
mysql_query("set names 'utf8'");
mysql_select_db('test');

//查询数据表
$sql = "select * from student";
$result = mysql_query($sql);

//转换为数组
$arr = array();
while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
    $arr[] = $row;
}
//输出结果
print_r($arr);

Dans le code ci-dessus, nous nous sommes d'abord connectés à la base de données, puis avons interrogé toutes les données de la table de données des étudiants et enfin utilisé une boucle while pour parcourir tous les résultats de la requête, chaque résultat est ajouté au tableau et enfin le tableau entier est affiché.

2. Utilisez PDO pour interroger et convertir des tableaux

Une autre méthode consiste à utiliser la bibliothèque d'extension PDO (PHP Data Object) de PHP pour interroger la base de données et obtenir l'ensemble de résultats. PDO offre un moyen plus flexible et plus sécurisé d'exploiter la base de données. L'interrogation de la base de données via PDO peut empêcher efficacement les attaques telles que l'injection SQL.

Un exemple d'interrogation PDO de MySQL est le suivant :

//连接数据库
$dsn = 'mysql:dbname=test;host=localhost';
$username = 'root';
$password = '';
try {
    $dbh = new PDO($dsn, $username, $password,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

//查询数据表
$sql = "select * from student";
$sth = $dbh->query($sql);

//转换为数组
$arr = $sth->fetchAll(PDO::FETCH_ASSOC);
print_r($arr);

Dans l'exemple ci-dessus, nous avons d'abord établi une connexion à la base de données MySQL, puis utilisé PDO (PHP Data Object ) pour interroger les données des étudiants sur toutes les données du tableau et utiliser la fonction fetchAll pour obtenir les données de tous les ensembles de résultats, et enfin générer le tableau.

Vous pouvez voir que dans cet exemple, le code pour interroger la table de données et la convertir en tableau est relativement simple, et la méthode PDO est plus sécurisée et fiable que la méthode mysql_fetch_array.

Résumé :

En utilisant les deux méthodes ci-dessus, les résultats de la requête de table de données dans MySQL peuvent être convertis au format de tableau PHP. La méthode 1 convient aux fonctions de la bibliothèque étendue MySQL. Son inconvénient est qu'elle ne prend pas en charge la méthode de fonctionnement PDO plus rapide et plus sécurisée. La méthode PDO est plus flexible et plus sûre. Elle présente l’avantage de prévenir les attaques par injection SQL et constitue une solution de compromis. Le choix de la méthode d’utilisation doit être pondéré en fonction du scénario réel.

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