16/08/2007, 12:02
|
| $moderador{'Esteban'} | | Fecha de Ingreso: febrero-2002 Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 9 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 |