http://qs321.pair.com?node_id=263156


in reply to SQLite Documentation

There is a man page, which is what you find when you perldoc DBD::SQLite or look it up on CPAN. It mostly says that it conforms to the DBD spec, so things you see in the DBI docs should work. For details on syntax to create tables, look at the SQLite docs.

In your sample code, you never actually execute the statement handle.

Replies are listed 'Best First'.
Re: Re: SQLite Documentation
by Ovid (Cardinal) on Jun 04, 2003 at 21:46 UTC

    Wow, do I feel stupid. I completely missed that :) The following replicates his problem (along with the error message):

    my $sql = "SELECT * FROM foo"; my $sth = $dbh->prepare($sql) || die "Couldn't prepare $sql: $DBI::err +str"; while ( my @row = $sth->fetchrow_array ) { print "@row\n"; }

    This appears to be a bug in the error reporting.

    Cheers,
    Ovid

    New address of my CGI Course.
    Silence is Evil (feel free to copy and distribute widely - note copyright text)

      Well, don't feel stupid, Ovid.
      After further examination and the hints of a few whispered messages (silent11) I realized that the "while" construct doesn't actually execute the prepared statement, only receives the output and continues to as long as it is produced.

      Adding an $sth->execute() directly before the loop solved the problem.

      I can't find an example in my code, but I feel fairly certain that I always just went straight to the "while" construct without an "execute()" with DBD::MySQL, but then again, I could be wrong.

      I usually am. ;)

      --cidaris