in reply to Re: Re: DBI Help!
in thread DBI script gives HTTP 500 error

Did you read jonjacobmoon's post??

Your reply to his post indicates you did read it and changed your code. What did you do? Change it back? That indicates a lack of basic understanding...I suggest first understanding what your code does. You are trying to assign an array reference to a string constant...not a good thing.

Replies are listed 'Best First'.
Re: Re: Re: Re: DBI Help!
by peppiv (Curate) on Jan 16, 2002 at 18:47 UTC
    I finally went through the error logs (I swear they weren't where they were supposed to be, then next time I check - there they are!).

    I tried to find a simple sample script to make sure my DBI connection works and then I would build on it from there. But alas, I could find nothing. So I took the simplest test script I could find and try to make it work. I'm almost there. It appears my last hurdle is finding out how to name a table in an Excel CSV file that was never given one. Here's where I'm at:
    #!/usr/bin/perl -w use strict; use DBI; use CGI::Carp qw(fatalsToBrowser); use CGI qw (:standard); print "Content-type: text/html\n\n"; my $dbh = DBI->connect("DBI:CSV:f_dir=/cgi-bin/Book1") or die "Can't + connect to Book1: $DBI::errstr"; $dbh->{'csv_tables'}->{'info'} = {'col_names' => ["timestamp", "e +mail", "name", "address", "city", "state", "zip"]}; my $sth = $dbh->prepare( q{SELECT email FROM info WHERE state = ? }) + or die "Can't prepare statement: $DBI::errstr"; my $rc = $sth->execute ('OH') or die "Can't execute statement: $DBI: +:errstr"; print "Query will return $sth->{NUM_OF_FIELDS} fields.\n\n"; print "Field names: @{ $sth->{NAME} }\n"; while (my @result = $sth->fetchrow_array()) { print "@result\n"; } # check for problems which may have terminated the fetch early die $sth->errstr if $sth->err; $dbh->disconnect;

    It returns an error (ToBrowser) "Cannot open /cgi-bin/Book1/info: No such file or directory"
      You'll need to specify the entire path to the file. 'C:/blah/blah/cgi-bin/blah/blah' or whatever...