アプリ版:「スタンプのみでお礼する」機能のリリースについて

PerlでMySQLのデータベース内のテーブル一覧を取得することはできますか?

自分で以下の様なサブルーチンを作りましたが、返り値に何も入っていませんでした。

コマンドラインでもshow tables;で確認したのでテーブルは確実に存在します。
接続も

showでfetchrow_arrayなどは使えないのでしょうか?
またselect文でテーブル一覧を取得する方法がありましょうか?

Error: failed to connect to DB.とは出てこないので、接続も成功しています。

sub mysql_tablesGet{

my @data=@_;
my $db_id = $data[0];
my $db_password = $data[1];

my $dbh = DBI->connect("dbi:mysql:dbname=".$ftp_id.";host=$mysql_host", $db_id,$db_password)
or die "$!\n Error: failed to connect to DB.\n";

my $sth = $dbh->prepare("show tables;");
$sth->execute;
my @response;
my $i=0;
while(my @var = $sth->fetchrow_array){
my ($table_name) = $var[0];
$response[$i] = $table_name;
$i++;
}
$dbh->disconnect;
return @response;
}


MySQLのログはこんなのが出ています。
130406 17:11:44 70 Connect test2@192.168.11.22 on test2
70 Query set autocommit=1

特にエラーは出ていないので、show tables;は成功していると思います。

A 回答 (1件)

> showでfetchrow_arrayなどは使えないのでしょうか?



使えるみたいです。
「PerlでMySQLのテーブル一覧取得」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!