MySQLなら
DESCRIBE テーブル名; か SHOW COLUMNS FROM 'テーブル名';
SQLiteなら
PRAGMA table_info('テーブル名');
でカラム名一覧を取得できますが、PDO+SQLiteの場合は下記のような記述で取得することができるようです。
$pdo = new PDO('sqlite:' . 'SQLiteのファイル名');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$pdoStatement = $pdo->query("SELECT * FROM 'テーブル名' LIMIT 0");
$columns = array();
for ($i = 0; $i < $pdoStatement->columnCount(); $i++) {
$meta = $pdoStatement->getColumnMeta($i);
$columns[] = $meta['name'];
}