3 # $Id: ApacheDBI.pl,v 1.1 2004-04-29 09:21:28 ivan Exp $
5 # don't forget to create in postgres the user who is running
6 # the httpd, eg 'createuser nobody' !
8 # demo script, tested with:
22 $query->start_html(-title=>'A Simple Example'),
24 "<CENTER><H3>Testing Module DBI</H3></CENTER>",
25 "<P><CENTER><TABLE CELLPADDING=4 CELLSPACING=2 BORDER=1>",
26 "<TR><TD>Enter the data source: </TD>",
27 "<TD>", $query->textfield(-name=>'data_source', -size=>40, -default=>'dbi:Pg:dbname=template1'), "</TD>",
29 "<TR><TD>Enter the user name: </TD>",
30 "<TD>", $query->textfield(-name=>'username'), "</TD>",
32 "<TR><TD>Enter the password: </TD>",
33 "<TD>", $query->textfield(-name=>'auth'), "</TD>",
35 "<TR><TD>Enter the select command: </TD>",
36 "<TD>", $query->textfield(-name=>'cmd', -size=>40), "</TD>",
38 "</TABLE></CENTER><P>",
39 "<CENTER>", $query->submit(-value=>'Submit'), "</CENTER>",
44 my $data_source = $query->param('data_source');
45 my $username = $query->param('username');
46 my $auth = $query->param('auth');
47 my $cmd = $query->param('cmd');
48 my $dbh = DBI->connect($data_source, $username, $auth);
50 my $sth = $dbh->prepare($cmd);
51 my $ret = $sth->execute;
54 print "<P><CENTER><TABLE CELLPADDING=4 CELLSPACING=2 BORDER=1>\n";
55 while ($ary_ref = $sth->fetchrow_arrayref) {
56 print "<TR><TD>", join("</TD><TD>", @$ary_ref), "</TD></TR>\n";
58 print "</TABLE></CENTER><P>\n";
61 print "<CENTER><H2>", $DBI::errstr, "</H2></CENTER>\n";
65 print "<CENTER><H2>", $DBI::errstr, "</H2></CENTER>\n";
69 print $query->end_html;