my $sth = $dbo->prepare("insert into table(field,field,field) values(?,?,?)"); my $oth = $dbo->prepare("insert into table set field=?, field=?, field=?"); # this second form is unique to mysql, but more readable... while( $something ) { $sth->execute( $value, $value, $value ) or die $sth->errstr; }