PDO+SQLiteでカラム名一覧を取得

MySQL Web制作

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'];
}
タイトルとURLをコピーしました