On 9/18/08, hugh111111 <[EMAIL PROTECTED]> wrote:
>
> I'm using sqlite for my perl cgi website but I've got a problem with the
> following select statement...
>
> SELECT userID FROM members WHERE userName='John' AND
> userOccupation='Carpenter'
>
> Yet if I input this statement from the sqlite3 command prompt it works! The
> problem seems to be with the 'and', the following statement works fine in
> both cgi script and from the sqlite3 prompt...
>
> SELECT userID FROM members WHERE userName='John'
>
> I hope somebody can help with this, I'm new to both perl and sqlite but very
> keen on using sqlite for future projects.
>
>
>
> here is my perl script...
>
>
> #!/usr/bin/perl
>
> use DBI;
>
> my $output;
> my $sql = "SELECT userID FROM members WHERE userName='John' AND
> userOccupation='Carpenter'";
>
> my $dbh = DBI->connect("dbi:SQLite:test.db", "", "");
> my $sth = $dbh->prepare($sql);
> $sth->execute();
>
> while ( @row = $sth->fetchrow_array ) {
> $output .= "@row\n";
> }
>
> $dbh -> disconnect;
>
> print "Content-type:text/html\n\n";
> print "<html><body><h1>Hello World</h1> $output </body></html>";
>
>
always bind variables. See untested code below
#!/usr/bin/perl
use DBI;
my $dbh = DBI->connect("dbi:SQLite:test.db", "", "");
my $sth = $dbh->prepare(qq{
SELECT userID
FROM members
WHERE userName = ? AND userOccupation = ?
});
$sth->execute('John', 'Carpenter');
my $output;
while (my @row = $sth->fetchrow_array ) {
$output .= join(' ', @row) . "\n";
}
$dbh -> disconnect;
print "Content-type:text/html\n\n";
print "<html><body><h1>Hello World</h1> $output </body></html>";
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users