In the past someone posted a problem with mod_perl and DbI giving blank
pages from a SQL query. I did some digging around and found some info but I
need someone to fill in the holes for me a little.
I created a DB Table "webtest". In the table, I filled it with the contents
of /usr/local/dict/propernames. Fine! it worked beautifully.
However, when I do a "random" query I get some blank pages. I traced this to
the DBI Log using the "DBH->Trace(2, /tmp/DBI.log)". I found that sometimes
the "execute()" returns "0E0". Does anybody knows why??
I did a simple logic to check for the value return by "execute()", if the
value is "0E0" then do the same query. Do this same query until the value
return by "execute()" is not "0E0". However, I am still getting blank pages.
I am sending the actual script that I have been working on to provide a
complete picture.
Thank you in advanced
-max
====================SCRIPT==========================
1 package DBNE2;
2
3 use strict;
4 use vars qw($DBH);
5 use Apache;
6 use DBI();
7
8 sub handler {
9 $DBH = DBI->connect("DBI:mysql:test","webuser","mult1scan")
|| die $DBH->errstr;
10 my $r = shift;
11 my $h = $DBH->trace(2,"/tmp/DBNE2.log");
12
13 my $IdHandle = $DBH->prepare("SELECT MAX(id) FROM webtest");
14 $IdHandle->execute;
15 my $id = $IdHandle->fetchrow;
16
17 my $RowHandlesth = $DBH->prepare("SELECT * FROM webtest WHERE
id = ROUND( (RAND() * ?) + 1)");
18 $RowHandlesth->execute($id);
19
20 while (! $RowHandlesth ) {
21 $RowHandlesth->execute($id);
22
23 if ( $RowHandlesth ) {
24 # my @row = $RowHandlesth->fetchrow;
25 last;
26 }
27 }
28 my @row = $RowHandlesth->fetchrow;
29
30 $r->content_type("text/html");
31 $r->send_http_header;
32 $r->print(@row);
33 $RowHandlesth->finish;
34 }
35
36 1;