2016-06-30 4 views
0

2 테이블 personcountry이 있습니다. 표 person에는 3 개의 열 id_person, name_personid_country이 있습니다. country에는 2 개의 열 id_countryname_country이 있습니다.mysql에 여러 테이블의 열 이름을 표시하는 방법

저는 "name_person"과 "name_country"를 보여주고 싶습니다. 단지 칼럼의 이름으로 레코드가 아닙니다. 이것을 어떻게 얻을 수 있습니까?

+0

은 [이] 한 번 봐 (http://stackoverflow.com을하시기 바랍니다 사용할 수 있습니다/a/7091984/6527256) 답변. – JK12321

+1

달성하고자하는 것을 이해하는 것이 도움이됩니다. 컬럼 이름을 알고 있다면 왜 그 컬럼 이름을 얻고 싶습니까? –

+0

나는 열의 이름을 가져 와서 문자열을 만들고 싶다. 테이블의 레코드와 병합하십시오. 마지막으로 하나의 문자열 만 있습니다. 내 나쁜 영어 선생님을 위해 미안 해요 :) –

답변

2
당신은 MySQL을의 정보 스키마 데이터베이스에 테이블 컬럼에 액세스 할 수 있습니다

:

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

이 그것을 수행해야합니다

$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); 
+0

이 있습니다. 나는 열의 이름을 보여주고 싶다. –

+0

'array_keys'를 사용하여 처음으로 열 이름 만 출력해야한다. – cb0

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)); 
관련 문제