私は2つのテーブルperson
とcountry
を持っています。表person
は、3列のid_person
,name_person
およびid_country
を有する。 country
には、2つの列id_country
とname_country
があります。複数のテーブルの列名をmysqlに表示するには
私は "name_person"と "name_country"を表示したいだけで、列の名前で、記録しません。どのように私はこれを得ることができますか?
私は2つのテーブルperson
とcountry
を持っています。表person
は、3列のid_person
,name_person
およびid_country
を有する。 country
には、2つの列id_country
とname_country
があります。複数のテーブルの列名をmysqlに表示するには
私は "name_person"と "name_country"を表示したいだけで、列の名前で、記録しません。どのように私はこれを得ることができますか?
あなたは、MySQLの情報スキーマのデータベース内のテーブルの列にアクセスすることができます
SELECT `COLUMN_NAME`
FROM `INFORMATION_SCHEMA`.`COLUMNS`
WHERE `TABLE_NAME` IN ('country', 'person')
AND `COLUMN_NAME` LIKE 'name_%';
これはそれを行う必要があります。
$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);
です。私は列の名前を表示したい –
'array_keys'を使用して最初の列名を印刷する必要があります。 – cb0
あなたは
$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));
を使用することができ、[この]を見てください(http://stackoverflow.com/a/7091984/6527256)回答。 – JK12321
達成しようとしていることを理解することは役に立ちます。カラム名を知っていれば、なぜカラム名を取得したいのですか? –
私はそれから文字列を作成する列の名前を取得したいと思います。それをテーブルのレコードとマージします。最後に私はただ一つの文字列しか持っていません。私の悪い英語の先生に申し訳ありません:) –