What version of DBD/DBI are you using and on what platform? The exact
same thing happened to me on SunOS (don't remember the exact DBD/DBI
version). I upgraded to the lastest DBD/DBI and the problem went away.
HTH,
Keith
On Thu, 2004-01-08 at 11:40, Mike Blezien wrote:
> Hello all,
>
> this one has been driving me nuts!! Below is a snip of code within a eval { }
> for transactions.
>
> Everything gets inserted correctly but for some reason the $ary_ref->[$i] values
> are always '0', they should be the `signupid` values from the `subscriptions`
> table.
>
> In the 1st INSERT statement the auto_increment values (signupid) are created
> correctly(in this code, 2 values, IE. 12,13) but when I go to retrieve these two
> values in the SELECT statement, it always returns '0', $ary_ref->[$i]. The
> @sitedata array has 2 lines of data(the $totalsubs equals '2' also) , and
> everything is inserted correctly from the @insertdata into the INSERT statement
> into the `site_subscriptions` table.
>
> No errors are generated within the eval {} and once the transaction is commited,
> all goes exactly as it should, but for the life of me,... I can't figure out why
> the $ary_ref->[$i] keeps inserting a '0' value?? Any help, ... suggestions would
> be appreciated. :)
>
> #################################################################################
> $sql = qq|INSERT INTO subscriptions (signupid,siteid) VALUES (NULL,?)|;
> for (1..$totalsubs) { $dbh->do($sql,undef,$siteid); }
>
> my $subsql = qq|SELECT signupid FROM subscriptions WHERE siteid = $siteid|;
> my $ary_ref = $dbh->selectall_arrayref($subsql);
> my $sql = qq|INSERT INTO site_subscriptions $sitecols VALUES $siteplaceholder|;
>
> for (my $i; $i<@{$ary_ref}; $i++) {
> chomp $sitedata[$i];
> my @insertdata = split(/\|/,$sitedata[$i]);
>
> # HERE THE $ary_ref->[$i] ALWAYS INSERTS '0' here
> $dbh->do($sql,undef,$ary_ref->[$i],@insertdata);
> }
> ##################################################################################
--
Keith Jackson <[EMAIL PROTECTED]>