我有2个表person
和country
。表格person
有3列id_person
,name_person
和id_country
。 country
有2列id_country
和name_country
。
我想显示“name_person”和“name_country”,只是列的名称,而不是记录。我怎么能得到这个?
答案 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));