Two things come to mind:
1. $dbh->do() doesn't return a statement handle, I think.  It just returns the 
count of rows affected.  What happens if you put a $dbh->commit after the do()?
2. It could also be a quoting issue.  Try using place-holders instead, with 
something like:

my $sql = '
INSERT INTO transactions(
    date,
    description,
    amount,
    confirmation,
    nameid,
    typeid) 
VALUES (?,?,?,?,?,?)';

my $sth = $dbh->prepare($sql);

$sth->execute(
    $datePaid,
    $description,
    $amount,
    $confirmation,
    $nameid,
    $typeid);

$dbh->commit();


Quoting "Kovalcik, Mike A [ITS]" <[EMAIL PROTECTED]>:

> Hi,
> 
> I'm trying to setup some scripts that will allow me to use Perl DBI to
> INSERT into my table.  However, I have not had any success at all.  I'm
> using perl CGI as well so I've granted ALL permissions on my table to
> the apache user and I still can't INSERT.  I can, however, UPDATE and
> SELECT on the table, just not INSERT.  
> 
> Here is a piece of my code:
> 
> #--Establish the DB connection
> #--Assign the DB name
> $dbName = 'checkbook';
> 
> #--Connect to the Pg DB using DBI
> my $dbh = DBI->connect("dbi:Pg:dbname=$dbName");
> 
> $sth = $dbh->do("INSERT INTO transactions
> (date,description,amount,confirmation,nameid,typeid) VALUES
> ('$datePaid','$description','$amount','$confirmation',$nameid,$typeid)")
> ;
> 
> Please HELP...........
> 
> Thanks,
> Mike
> 




----------------------------------------
This mail sent through www.mywaterloo.ca

Reply via email to