PDOでテーブルのカラム名を取得するSQL文
PDOで、挿入されたデータではなく、テーブルのカラム名を取得する方法をまとめました。
管理者しか触れない管理画面などを作成する時に必要なシーンがあるので、一応知っておきましょう。
今回はサンプルで下記のテーブルを使用します。
table名:doraemon_users | |||
---|---|---|---|
id | name | gender | type |
1 | のび太 | man | human |
2 | ドラえもん | man | robot |
3 | ジャイアン | man | human |
4 | スネ夫 | man | human |
5 | しずか | woman | human |
6 | ドラミ | woman | robot |
テーブルをカラムを取得するSQLクエリ
カラム名だけ取得したい場合
カラム名だけの取得で良い場合は、fetchAll(PDO::FETCH_COLUMN)の記述を使用します。
参考 【PHP】PDOのfetchで取得できる配列パターン一覧
$sql = "SHOW COLUMNS FROM doraemon_users"; $sth = $pdo -> query($sql); $aryColumn = $sth -> fetchAll(PDO::FETCH_COLUMN); print_r($aryColumn);
(
[0] => id
[1] => name
[2] => gender
[3] => type
)
すべてのデータを取得したい場合
型やサイズなど、カラムの各種設定も取得したい場合はfetchAll(PDO::FETCH_ASSOC)を使用します。
$sql = "SHOW COLUMNS FROM doraemon_users"; $sth = $pdo -> query($sql); $aryColumn = $sth -> fetchAll(PDO::FETCH_ASSOC); print_r($aryColumn);
(
[0] => Array
(
[Field] => id
[Type] => int(11)
[Null] => NO
[Key] =>
[Default] => 0
[Extra] =>
)
[1] => Array
(
[Field] => name
[Type] => varchar(32)
[Null] => YES
[Key] =>
[Default] =>
[Extra] =>
)
[2] => Array
(
[Field] => gender
[Type] => varchar(16)
[Null] => YES
[Key] =>
[Default] =>
[Extra] =>
)
[3] => Array
(
[Field] => type
[Type] => varchar(16)
[Null] => YES
[Key] =>
[Default] =>
[Extra] =>
)
)
ディスカッション
コメント一覧
まだ、コメントがありません