|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| ||||||||||||||||||||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Pulling First Names From Database
I am new to CGI and Perl so please be patient with me if I ask some dumb questions. I have a form that requests an email address and password. Upon clicking the Submit button I want to connect to the database, find the email address in the table and return a page displaying the first name of the client. I'm using Apache to test the script, so it isn't uploaded to my server for public viewing, but if it helps I will gladly do so. The script I have so far, connects to the db, but it doesn't return any names. Here the script I have so far:
#!/perl/bin/perl use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser); use DBI; use Time::Local print header; # Page title on top of webpage print start_html("Client Login"); # delcare fields my($mail_id, $password_id, $client_id, $fname); # Connect to the database my $DSN = 'driver=Microsoft Access Driver (*.mdb);dbq=C:\Documents and Settings\Mike\My Documents\My Website\Clients.mdb'; my $dbh = DBI->connect("DBI:ODBC:$DSN") or die "$DBI::errstr\n"; $::db_host = 'localhost'; $::db_name = 'Clients.mdb'; $::db_user = 'root'; # The SQL that I want to run # 1st, get the client_id for the mail_id entered on the form my $sth = $dbh->prepare("SELECT client_id FROM tblClients WHERE mail_id = '$mail_id'") or die "prepare failed: " . $dbh->errstr(); $sth->execute() or die "execute failed: " . $sth->errstr(); ($client_id) = $sth->fetchrow(); #The line below keeps causing an error saying "client_id cannot be found" die "client_id not found" unless defined $client_id; # 2nd, for each mail_id in the table, grab the fname and print it on the page while (($client_id) = $sth->fetchrow()) { my $sth = $dbh->prepare("SELECT fname FROM tblClients WHERE client_id = $client_id") or die "prepare failed: " . $dbh->errstr(); $sth->execute() or die "execute failed: " . $sth->errstr(); my($fname) = $sth->fetchrow(); print " $fname\n"; $sth->finish(); } $sth->finish(); $dbh->disconnect(); #End page Any help, tips or suggestions will be greatly appreciated. I've been stuck on this for 3 days. Thank you in advance Mike |
![]() |
| Viewing: Tutorialized Forums > Web Design & Development > Perl and CGI > Pulling First Names From Database |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|
|