Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/08/2007, 12:02
Avatar de monoswim
monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 10 meses
Puntos: 90
Re: Insertando multiples registros con MySQL

hay un grabe error en el código, estás dejando las sth abiertas

debería de ser así...

Código:
my $dbh = ConectarDB->connect();
foreach my $i (@data_) {
        my ($id1_, $id2_, $id3_, $id4_, $id5_, $id6_, $id7_) = split(/,/,$i);
	 ($departamento, $categoria) = split(/\./,$id7_);
         print "($id7_) $id1_|$departamento|$categoria|$id3_|$id2_|$id5_|$id4_|$id6_<br>\n";

	 my $sth = $dbh->prepare('INSERT INTO inventarios values(?,?,?,?,?,?,?,?)') or die("Couldn't prepare statement: " . $dbh->errstr);
         $sth->execute($id1_,$departamento,$categoria,$id3_,$id2_,$id5_,$id4_,$id6_) or die("Couldn't execute statement: " . $sth->errstr);
         $sth->finish;
}

$dbh->disconnect;
Fijate que el finish de sth está dnetro del bucle ahora, y que las variables fueron bien definidas con my, eso optimiza mucho el uso de la memoria...Siempre es recomendable usar el use strict para acostumbrarnos a programar correctamente...

Saludos
__________________
Esteban Quintana