List:General Discussion« Previous MessageNext Message »
From:Paul DuBois Date:April 29 1999 6:48pm
Subject:Re: Perl DBI, for archiving
View as plain text  
At 7:55 AM -0500 4/29/99, Charles Kirby wrote:
>Paul DuBois <paul@stripped> wrote:
>I don't really understand what you're trying to accomplish, exactly...
>
>On Thu, 29 Apr 1999, Vivek Khera wrote:
><snip>
>> Wildcard substitution is a DBI thing, not a mysql command line thing.
>>
>> try "select sid from slips where sid=3;" in mysql command prompt.
>
>By "mysql command line", I mean when I log in (/usr/local/mysql/bin/mysql)
>and select a database.  At the mysql> prompt, the wildcard "%" certainly
>does work (with no relevance to DBI), and your suggestion above works,
>also (sid #3 exists).  However, it seems when I'm successful in finding a
>match, that's when this thing fails, and I get
>"execute called with 1 bind variables when 0 are needed at ./d.cgi line...
>"Database handle destroyed without explicit disconnect."
>
>What I'm trying to do is this:
><snip>
>my $query = <<"EOS";
>SELECT sid FROM slips WHERE sid=3
>EOS
>my $sth = $dbh->prepare($query) or die ...<snip>
>$sth->execute($sid);
>while(@row = $sth->fetchrow_array) {
>     print "@row\n";
>     }

Why are you passing $sid to $sth->execute()?  This is where your error
message comes from.  DBI thinks it's supposed to insert the value of
$sid in the query where it finds ? in the query string, but you don't
have ? in the query string.

You either need to say "WHERE sid=?" in your query string rather
than "WHERE sid=3", or else invoke execute as $sth->execute() with
no parameters.  I'm not sure which, because your query doesn't
make any sense to me.  Why select sid when you specify the value of
sid in the WHERE clause? You already know what it will be.

--
Paul DuBois, paul@stripped
Northern League Chronicles: http://www.snake.net/nl/
Thread
Perl DBI, for archivingCharles Kirby29 Apr
  • Re: Perl DBI, for archivingVivek Khera29 Apr
    • Re: Perl DBI, for archivingCharles Kirby29 Apr
      • Re: Perl DBI, for archivingPaul DuBois29 Apr
      • Re: Perl DBI, for archivingVivek Khera29 Apr
        • Re: Perl DBI, for archivingCharles Kirby29 Apr
          • Re: Perl DBI, for archivingPaul DuBois29 Apr
            • Re: Perl DBI, for archivingCharles Kirby29 Apr