Maison > base de données > tutoriel mysql > le corps du texte

Comment la méthode « fetchAll » de PDO peut-elle créer un tableau associatif à partir de paires clé-valeur récupérées à partir d'une base de données ?

Linda Hamilton
Libérer: 2024-11-24 04:47:17
original
866 Les gens l'ont consulté

How can PDO's `fetchAll` method create an associative array from key-value pairs retrieved from a database?

PDO FetchAll : regroupement de paires clé-valeur dans un tableau associatif

Question :

Lors de la récupération des paires clé-valeur à partir d'une base de données, comment obtenir un tableau associatif avec des valeurs regroupées par clés en utilisant fetchAll de PDO méthode ?

Par exemple, étant donné la requête :

SELECT `key`, `value` FROM `settings`;
Copier après la connexion

Nous voulons créer un tableau comme :

array('first_name' => 'Tom', 'last_name' => 'Jefferson')
Copier après la connexion

Réponse :

PDO propose pour cela une solution simple et efficace :

$q = $db->query("SELECT `key`, `value` FROM `settings`;");
$r = $q->fetchAll(PDO::FETCH_KEY_PAIR);
Copier après la connexion

Ce approche :

  • Exécute la requête et récupère toutes les lignes dans l'objet $q PDOStatement.
  • Appelle fetchAll() avec PDO::FETCH_KEY_PAIR pour regrouper les résultats par la première colonne (clé ) et attribuez la deuxième colonne (valeur) comme valeur correspondante.
  • Stocke le tableau associatif dans le $r variable.

Cette méthode est optimisée pour ce cas d'utilisation spécifique, car elle récupère les données avec une seule requête et directement dans le format de tableau associatif souhaité.

Pour PostgreSQL 9.1 et PHP 5.3.8 fonctionnant sous Windows 7 x64, il a été vérifié que cette solution fonctionne efficacement.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal