#!/user/bin/perl -w use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser); use strict; use DBI; print "content-type: text/html\n\n"; my @parnames = qw/Update Name Region Region_Section POS NPC Requirements Requiredquests Fame Reward Rewardtype Title isrepeatable walkthrough date/; my @to_update = @parnames[2..$#parnames]; my @to_insert = @parnames[1..$#parnames]; my %col_name; my %par_value; for my $par ( @parnames ) { $col_name{$par} = lc( $par ); $par_value{$par} = param( $par ) || ''; } # handle some exceptional column names: $col_name{Region_Section} = 'region_region'; $col_name{Name} = 'quest_name'; $col_name{date} = 'updated'; my $sitepath = 'e:/web/public_html/finalfantasyinfo'; my $dbh = DBI -> connect ('dbi:ODBC:', '', '') or die "$DBI::errstr;"; if ($par_value{Update} eq 'on') { for my $par ( @to_update ) { next if ( $par_value{$par} eq 'No Update' ); my $sql = "update quests set $col_name{$par} = ? where quest_name = ?"; my $sth = $dbh->prepare( $sql ); $sth->execute( $par_value{$par}, $par_value{Name} ) or die "$sql:\n $DBI::errstr"; } } else { my $cols = join( ",", @to_insert ); my $vals = join( ",", ("?") x scalar @to_insert ); my $sql = "insert into quests ($cols) values ($vals)"; my $sth = $dbh->prepare( $sql ); $sth->execute( @par_value{@to_insert} ) or die "$sql:\n $DBI::errstr"; } $dbh -> disconnect(); print "Looks like that worked.";