ホームページ  >  記事  >  バックエンド開発  >  PHP で PDO を使用してテーブルから列名を取得する方法

PHP で PDO を使用してテーブルから列名を取得する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-04 07:00:02816ブラウズ

How to Retrieve Column Names from a Table Using PDO in PHP?

PHP で PDO を使用して列名を取得する

PHP データ オブジェクト (PDO) を使用して、指定されたテーブルから列名を取得するにはどうすればよいですか?次のテーブルについて考えてみましょう。

id name age
1 Alan 35
2 Alex 52
3 Amy 15

私たちの目的は、列名を取得することです。

| ID |名前 | age |

元のコードの試行:

質問で提供されているコードは、columnCount() メソッドと getColumnMeta() メソッドを使用して、それぞれ列メタデータをカウントおよび取得します。ただし、このアプローチでは、列名以外の追加情報も取得します。

MySQL 固有のメソッドを使用した解決策:

MySQL データベースの場合は、「DESCRIBE」を直接クエリできます。次のコードを使用して情報を取得します:

<code class="php">$table_fields = $dbh->query("DESCRIBE tablename")->fetchAll(PDO::FETCH_COLUMN);</code>

上記のコードは列名を含む配列を返します:

id
name
age

このソリューションは MySQL 固有であり、他のデータベース タイプでは機能しません。 。すべての PDO 互換データベースをサポートする汎用ソリューションの場合は、次の関数の使用を検討してください:

<code class="php">function get_column_names($table, $pdo) {
    try {
        $stmt = $pdo->prepare("SELECT * FROM $table LIMIT 0");
        $stmt->execute();
        $column_names = array_map(function ($meta) { return $meta['name']; }, $stmt->getColumnMeta());
        return $column_names;
    } catch (Exception $e) {
        return false;
    }
}</code>

以上がPHP で PDO を使用してテーブルから列名を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。