我正在尝试制作一个小脚本来从我的数据库中提取数据库/表/列,但在第一步中我无法继续,我在奇怪的列表中获取数据库,请查看:
#!/usr/bin/perl
use DBI;
$host = "localhost";
$user = "wnyclick_siteusr";
$pw = "Hank0402\$";
$dsn = "dbi:mysql:$database:localhost:3306";
$connect = DBI->connect($dsn, $user, $pw);
$databases = $connect->selectcol_arrayref('show databases');
use Data::Dumper;
print Dumper $databases;
执行此代码会给出以下内容:
$VAR1 = [
'information_schema',
'wnyclick_sitedatawp'
];
如何将这个执行结果放入列表中?
print @VAR1[0];
print @databases[0];
最佳答案
我刚刚修改了你的代码。尝试下面的代码:
#!/usr/bin/perl -w
use DBI;
use DBD::mysql;
my $user = "wnyclick_siteusr";
my $pw = "Hank0402\$";
#Connecting Database
$dbh = DBI->connect( 'dbi:mysql:database=mysql;host=localhost;port=3306', '$user', '$pw' )
or die "Connection Error: $DBI::errstr\n";
$sql = "show databases";
$sth = $dbh->prepare($sql);
$sth->execute or die "SQL Error: $DBI::errstr\n";
while ( @row = $sth->fetchrow_array ) {
#print $row[1];
print "@row\n";
}
关于mysql - PERL::DBI 在列表中获取用户数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26480616/