忘れないうちにメモメモ。
DBがpostgreSQLでphpからテーブル一覧を取得するためのクエリについて。
postgreSQLのバージョンは7.4.12ですが、おそらく他のバージョンでも大丈夫かな?(未確認)
PHPのバージョンは5以上です。
<?php $pdo = new PDO('pgsql:host=localhost;port=5432;dbname=dbname;user=username;password=password'); $sql = 'select pg_statio_user_tables.relname from pg_catalog.pg_class,pg_catalog.pg_statio_user_tables where relkind='r' and pg_catalog.pg_statio_user_tables.relid=pg_catalog.pg_class.relfilenode'; $stmt = $pdo->query($sql); var_dump($stmt->fetchAll());連想配列(fetchAll()した結果)でテーブル一覧が取得できます。
ただし、作った覚えのないテーブルも含まれているので要注意。
ちなみに、MySQLだと簡単で
<?php $sql = 'show tables'; $stmt = $pdo->query($sql); var_dump($stmt->fetchAll());です。
以上でぇぇぇす。
0 件のコメント:
コメントを投稿