Estoy probando lo primero en local y necesito saber porqué este script no me realiza ninguna consulta. Cojo una bbdd que tengo creada de pruebas y lo que intento es que también en local me copie algunos campos, "simulando" para cuando tenga que atacar a la base de datos remota, pero no da ningún resultado la ejecución del script, la aplicación parece que funciona bien pero al mirar el phpmyadmin veo que no se ha copiado nada.
Utilizo Ubuntu 8.04 + Apache2 + PHP5 + mysql-server-5.0 + phpmyadmin
Paso el script:
Using perl Syntax Highlighting
package RackMonkey::joan;
sub new {
###############################################################################################
#####################################CONSULTAS A ORIGEN########################################
###############################################################################################
my $db_user="root";
my $db_pass="";
my (@columnas, @filas);
my $q_string="DBI:mysql:@127.0.0.1=$hostname;joan=$db_name";
my $dbh = DBI->connect($q_string, $db_user, $db_pass)|| die "Database connection not made: $DBI::errstr";
#usar bbdd nuestra
my $use = qq{ "USE joan;" };
my $sth = $dbh->prepare($use);
$sth->execute;
#Preparar seleccion
my $select1 = qq{ "SELECT nombre FROM prueba1;" };
my $sth1=$dbh->prepare($select1);
$sth1->execute;
while(@fila=$sth1->fetchrow_array()){
push(@columnas, $fila[0]);
}
###############################################################################################
###################################VOLCAR INFORMACION ORIGEN###################################
###############################################################################################
#cadena de conexion IMPORTANTE IP & NOMBRE BBDD
my $q_string2="DBI:mysql:@127.0.0.1=$hostname2;pruebas=$db_name2";
my $dbh2 = DBI->connect($q_string2, $db_user, $db_pass)|| die "Database connection not made: $DBI::errstr";
#Preparar sentencia SQL
$sth2 = $dbh2->prepare("INSERT INTO usuario(nombre) VALUES ('@columnas')");
$sth1 = $dbh->prepare("SELECT * FROM prueba1");
$sth1->execute();
while(@fila = $sth1->fetchrow_array()) {
$sth2->execute(@fila);
}
}
1;
sub new {
###############################################################################################
#####################################CONSULTAS A ORIGEN########################################
###############################################################################################
my $db_user="root";
my $db_pass="";
my (@columnas, @filas);
my $q_string="DBI:mysql:@127.0.0.1=$hostname;joan=$db_name";
my $dbh = DBI->connect($q_string, $db_user, $db_pass)|| die "Database connection not made: $DBI::errstr";
#usar bbdd nuestra
my $use = qq{ "USE joan;" };
my $sth = $dbh->prepare($use);
$sth->execute;
#Preparar seleccion
my $select1 = qq{ "SELECT nombre FROM prueba1;" };
my $sth1=$dbh->prepare($select1);
$sth1->execute;
while(@fila=$sth1->fetchrow_array()){
push(@columnas, $fila[0]);
}
###############################################################################################
###################################VOLCAR INFORMACION ORIGEN###################################
###############################################################################################
#cadena de conexion IMPORTANTE IP & NOMBRE BBDD
my $q_string2="DBI:mysql:@127.0.0.1=$hostname2;pruebas=$db_name2";
my $dbh2 = DBI->connect($q_string2, $db_user, $db_pass)|| die "Database connection not made: $DBI::errstr";
#Preparar sentencia SQL
$sth2 = $dbh2->prepare("INSERT INTO usuario(nombre) VALUES ('@columnas')");
$sth1 = $dbh->prepare("SELECT * FROM prueba1");
$sth1->execute();
while(@fila = $sth1->fetchrow_array()) {
$sth2->execute(@fila);
}
}
1;
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
¡Gracias a todos de antemano!