for ('mysql', $db) { my $sth = $dbh->prepare("show tables from $_"); $sth->execute(); while (my $table = $sth->fetchrow_arrayref()) { $table = $table->[0]; my $filename = "save_db_$_/$table.sql"; open FILE, "> $filename" or die "open $filename\n$!\n"; my $sth = $dbh->prepare("show create table $_.$table"); $sth->execute(); while (my $create = $sth->fetchrow_arrayref()) { print "$_.$create->[0]\n"; $create = $create->[1]; print FILE "use $_;\n", "$create;\n" or die "print $filename\n$!\n"; } $sth->finish(); $sth = $dbh->prepare("select * from $_.$table"); $sth->execute(); while (my $value = $sth->fetchrow_arrayref()) { print FILE "insert into $table (" .join(',', @{$sth->{NAME}}) .") values (" # .join(',', map $dbh->quote($_), @$value) # das Problem .join(',', map mysql_quote($_), @$value) # so funktioniert's .");\n" or die "print $filename\n$!\n"; } $sth->finish(); close FILE or die "close $filename\n$!\n"; } $sth->finish(); } $dbh->disconnect();