Maison >base de données >tutoriel mysql >Comment puis-je utiliser une valeur de colonne comme index dans mes résultats PDO ?

Comment puis-je utiliser une valeur de colonne comme index dans mes résultats PDO ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-21 21:06:30768parcourir

How Can I Use a Column Value as the Index in My PDO Results?

Utilisation de la valeur de colonne comme index dans les résultats avec PDO

Lorsque vous travaillez avec des tables SQL et PDO, vous pouvez rencontrer le besoin d'avoir le résultat tableau indexé par une valeur de colonne spécifique plutôt que par un nombre incrémentiel. Cela permet une récupération plus efficace des données et peut simplifier certaines opérations.

Pour y parvenir, vous pouvez utiliser le mode de récupération PDO::FETCH_UNIQUE de PDO. Lors de la spécification de ce mode, l'index du tableau résultant sera basé sur le premier champ répertorié dans la clause SELECT (ou le premier champ de la définition de la table lors de l'utilisation de '*').

Par exemple, considérons un table appelée 'brands' contenant les colonnes id, name et url :

| id | name      | url       |
|-----|-----------|-----------|
| 1   | Solidfloor | solidfloor |
| 2   | Quickstep  | quickstep  |
| 4   | Cleanfloor | cleanfloor |

Pour récupérer les données et utiliser la colonne id comme tableau index :

$pdo = new PDO('...'); // PDO connection object
$data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);

Le tableau $data résultant sera indexé par la colonne id, comme suit :

[
    1 => [
        'name' => 'Solidfloor',
        'url' => 'solidfloor'
    ],
    2 => [
        'name' => 'Quickstep',
        'url' => 'quickstep'
    ],
    4 => [
        'name' => 'Cleanfloor',
        'url' => 'cleanfloor'
    ]
]

Cela vous permet d'accéder directement aux données par la colonne id :

$brand = $data[1]; // Get brand with ID 1

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