MySQLのINFORMATION_SCHEMAを使う方法でしょうね。
lang
1SELECT COLUMN_NAME
2FROM INFORMATION_SCHEMA.COLUMNS
3WHERE TABLE_SCHEMA= 'データベース名' AND TABLE_NAME= 'テーブル名'
4
PDOを使うなら下記のようなコードでしょうか。
lang
1try{
2$dbh = new PDO($dsn, $user, $password);
3} catch ( PDOException $e ) {
4print ( 'Error:'. $e->getMessage() );
5die();
6}
7
8$sql = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA= 'foo' AND TABLE_NAME= 'bar'";
9$stmt = $dbh->query($sql);
10if ( !$stmt ) {
11echo $dbh->errorInfo();
12exit();
13}
14
15while ( $row = $stmt->fetch(PDO::FETCH_ASSOC) ) {
16echo $row["COLUMN_NAME"] . "\n";
17}
18
19$dbh = null;
20
21?>