Re: do I have a reserved word here or something???

From: "Peter Haworth" <pmh(at)edison(dot)ioppublishing(dot)com>
To: Jeremy Hansen <jeremy(at)xxedgexx(dot)com>, PostgreSQL-General <pgsql-general(at)postgresql(dot)org>
Subject: Re: do I have a reserved word here or something???
Date: 2001-08-15 10:51:35
Message-ID: PGM.20010815105135.13972.895@edison.ioppublishing.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, 14 Aug 2001 12:25:54 -0400 (EDT), Jeremy Hansen wrote:
>
> INSERT into env_info
> (username,useremail,servicelevel,accountmanager,company) values
> ('$env_array{User}','$env_array{UserEmail}','$env_array{ServiceLevel}'
> ,'$env_array{AccountManager}','$env_array{Company}'
>
> I sometime get a parse error near username, but for the life of me, can't
> figure out what my issues is...mainly because it "sometimes" works.

It's probably because you're not correctly quoting your values. I suspect that
the ones which fail contain single quotes in one or more of the values.
Assuming you're using the DBI, do one of the following, preferably the first
one:

1.
$dbh->do(q(
insert into env_info
(username,useremail,servicelevel,accountmanager,company)
values(?,?,?,?,?)
),{},@env_array{qw(User UserEmail ServiceLevel AccountManager Company)});
2.
my($uname,$email,$level,$mgr,$company)=map $dbh->quote($_),
@env_array{qw(User UserEmail ServiceLevel AccountManager Company)};
$dbh->do(qq(
insert into env_info
(username,useremail,servicelevel,accountmanager,company)
values($uname,$email,$level,$mgr,$company)
));

--
Peter Haworth pmh(at)edison(dot)ioppublishing(dot)com
"When you say `I wrote a program that crashed Windows', people just stare
at you blankly and say `Hey, I got those with the system, *for free*'"
-- Linus Torvalds

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Hicnar 2001-08-15 11:23:00 Problems with installation v 7.1.2
Previous Message Michael Widenius 2001-08-15 10:03:01 Re: [Fwd: MySQL Benchmark page - Problem with vacuum() in PostgreSQL]