ホームページ > データベース > mysql チュートリアル > PDO 結果のインデックスとして列値を使用するにはどうすればよいですか?

PDO 結果のインデックスとして列値を使用するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-21 21:06:30
オリジナル
815 人が閲覧しました

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

PDO を使用した結果のインデックスとして列の値を使用する

SQL テーブルと PDO を使用する場合、結果を取得する必要がある場合があります。増加する数値ではなく、特定の列値によってインデックスが付けられた配列。これにより、データの取得がより効率的になり、特定の操作が簡素化されます。

これを実現するには、PDO の PDO::FETCH_UNIQUE フェッチ モードを利用できます。このモードを指定すると、結果の配列のインデックスは、SELECT 句にリストされている最初のフィールド (または、'*' を使用する場合はテーブル定義の最初のフィールド) に基づきます。

たとえば、 ID、名前、URL 列を含む「brands」というテーブル:

| id | name      | url       |
|-----|-----------|-----------|
| 1   | Solidfloor | solidfloor |
| 2   | Quickstep  | quickstep  |
| 4   | Cleanfloor | cleanfloor |
ログイン後にコピー

データをフェッチし、ID 列を配列として使用するにはIndex:

$pdo = new PDO('...'); // PDO connection object
$data = $pdo->query('SELECT * FROM brands')->fetchAll(PDO::FETCH_UNIQUE);
ログイン後にコピー

結果の $data 配列には、次のように id 列によってインデックスが付けられます:

[
    1 => [
        'name' => 'Solidfloor',
        'url' => 'solidfloor'
    ],
    2 => [
        'name' => 'Quickstep',
        'url' => 'quickstep'
    ],
    4 => [
        'name' => 'Cleanfloor',
        'url' => 'cleanfloor'
    ]
]
ログイン後にコピー

これにより、id 列によってデータに直接アクセスできるようになります:

$brand = $data[1]; // Get brand with ID 1
ログイン後にコピー

以上がPDO 結果のインデックスとして列値を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート