#!perl use strict; use CGI; use CGI::Carp qw(fatalsToBrowser); use DBI; my $q = CGI->new; my $fname = $q->param('fname'); my $lname = $q->param('lname'); my $email = $q->param('email'); my $action = $q->param('action'); my $dbh = getDbh('c:/temp/web/cgi_test1.db'); #createTable($dbh); # execute once if ($action eq 'Add'){ $dbh->do('INSERT INTO people (fname, lname, email) VALUES (?, ?, ?)', undef,$fname, $lname, $email); } elsif ($action eq 'Delete All'){ $dbh->do('DELETE FROM people'); } $dbh->commit(); my $table = join "\n", map { join " | ",@$_ } $dbh->selectall_array('SELECT * FROM people'); my $now = scalar localtime; print $q->header; print << "END_HTML"; Test People
$table

fname
lname
email
$now END_HTML sub getDbh { my $dbfile = shift; my $dsn = "dbi:SQLite:dbname=$dbfile"; my $dbh = DBI->connect($dsn, '', '', { PrintError => 0, RaiseError => 1, AutoCommit => 0, FetchHashKeyName => 'NAME_lc', } ) or die $dbh::errstr; }; sub createTable { my $dbh = shift; my $sql = <<'END_SQL'; CREATE TABLE people ( id INTEGER PRIMARY KEY, fname VARCHAR(100), lname VARCHAR(100), email VARCHAR(100) UNIQUE NOT NULL ); END_SQL $dbh->do($sql); $dbh->commit(); };