PDO を使用したテーブルの列名の取得
質問:
列を取得するにはどうすればよいですかPDO を使用したテーブルの名前?
Context:
次の列を持つ「contacts」という名前のテーブルを考えます:
試行:
次のコードを使用して試行されました:
<code class="php">$db = $connection->get_connection(); $select = $db->query('SELECT * FROM contacts'); $total_column = $select->columnCount(); var_dump($total_column); for ($counter = 0; $counter < $total_column; $counter ++) { $meta = $select->getColumnMeta($counter); $column[] = $meta['name']; } print_r($column);</code>
ただし、この試行では予期しない結果が生じ、存在しない列を含むすべての列名が返されました。
解決策 (MySQL 固有):
MySQL データベースの代替ソリューションは次のとおりです。
<code class="php">$table_fields = $dbh->query("DESCRIBE tablename")->fetchAll(PDO::FETCH_COLUMN);</code>
このクエリは、「DESCRIBE」コマンドを使用してテーブルの列名を取得します。結果は、テーブルのスキーマに表示される順序で列名を含む配列です。
出力:
Array ( [0] => id [1] => name [2] => age ... )
以上がMySQL で PDO を使用してテーブルの列名を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。