2016-06-30 6 views
0

私は2つのテーブルpersoncountryを持っています。表personは、3列のid_person,name_personおよびid_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)); 
関連する問題