如何在mysql中显示多个表的列名

时间:2016-06-30 07:20:42

标签: php mysql

我有2个表personcountry。表格person有3列id_personname_personid_countrycountry有2列id_countryname_country

我想显示“name_person”和“name_country”,只是列的名称,而不是记录。我怎么能得到这个?

3 个答案:

答案 0 :(得分:3)

您可以访问MySQL信息架构数据库中的表列:

SELECT `COLUMN_NAME` 
FROM `INFORMATION_SCHEMA`.`COLUMNS` 
WHERE `TABLE_NAME` IN ('country', 'person')
    AND `COLUMN_NAME` LIKE 'name_%';

答案 1 :(得分:2)

这应该这样做:

$result = $db->query('SELECT p.name_person, c.name_country FROM person AS p LEFT JOIN country as c ON (p.id_country=c.id_country)');
$fields = array_keys($result->fetch(PDO::FETCH_ASSOC));

如果您不仅要获取列名称的数据,只需删除array_keys。

$fields = $result->fetch(PDO::FETCH_ASSOC);

答案 2 :(得分:0)

您可以使用

    $result = $db->query('SELECT person.name_person, country.name_country FROM person LEFT JOIN country ON (person.id_country=country.id_country)');

    print_r(array_keys($result));