#################################### ## Create database connection sub Conn_to_DB_Forums{ use DBI; $DSN = "DBI:mysql:me_forums:db.site.com"; $sqluser = "me1"; $sqlpass = "12345"; $dbh = DBI->connect($DSN,$sqluser,$sqlpass) || die "Cannot connect: $DBI::errstr\n" unless $dbh; return; } ## end of connect to DB subroutine #################################### #################################### ## Create database connection sub Conn_to_DB{ use DBI; $DSN = "DBI:mysql:me_content:db1.site.com"; $sqluser = "me2"; $sqlpass = "67890"; $dbh = DBI->connect($DSN,$sqluser,$sqlpass) || die "Cannot connect: $DBI::errstr\n" unless $dbh; return; } ## end of connect to DB subroutine #################################### #################################### ## Exec SQL command sub Do_SQL{ eval { $sth = $dbh->prepare($SQL); }; # end of eval # check for errors if($@){ $dbh->disconnect; print "Content-type: text/html\n\n"; print "An ERROR occurred! $@\n"; exit; } else { $sth->execute; } # end of if/else return ($sth); } ## End of Do_SQL subroutine ##################################### #################################### ## Exec SQL2 command sub Do_SQL2{ eval { $sth2 = $dbh->prepare($SQL2); }; # end of eval # check for errors if($@){ $dbh->disconnect; print "Content-type: text/html\n\n"; print "An ERROR occurred! $@\n"; exit; } else { $sth2->execute; } # end of if/else return ($sth2); } ## End of Do_SQL2 subroutine ##################################### #### if ($submit || $preview) { &Conn_to_DB_Forums; $SQL = "SELECT * from $forum_table WHERE (username='$username' AND user_password!='$user_password' AND user_active='1')"; &Do_SQL; &error(not_registered) unless ($pointer = $sth->fetchrow_hashref); I do some other stuff here...then disconnect. $sth->finish(); $dbh->disconnect; } if ($submit) { &Conn_to_DB; $SQL = "SELECT * from $op_tbl WHERE (prodID='$prodID' AND dateadded='$dateadded' AND prodtype='$prodtype' AND (username='$username' OR title='$titlefix'))"; # run SQL against the DB &Do_SQL; &error(no_spam) if ($pointer = $sth->fetchrow_hashref); $SQL = "INSERT INTO $op_tbl (username,name,email,location,features,usability,title,body,dateadded,prodID,prodtype) VALUES ('$username','$namefix','$emailfix','$locationfix','$features','$usability','$titlefix','$bodyfix','$dateadded','$prodID','$prodtype')"; # run SQL against the DB &Do_SQL; $pointer = $sth->fetchrow_hashref; $filename = $pointer->{'filename'}; }