From: | Philip Warner <pjw(at)rhyme(dot)com(dot)au> |
---|---|
To: | Alan Horn <ahorn(at)inktomi(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: Problem with inserting newlines and ' characters |
Date: | 2000-07-24 13:48:03 |
Message-ID: | 3.0.5.32.20000724234803.023e6bc0@mail.rhyme.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
At 14:38 24/07/00 +0000, Alan Horn wrote:
>
>Hi,
>
>This may actually be more of a limitation with the DBD::Pg perl driver.
>I'm not sure.
>
>Basically I'm using DBD::Pg in a perl script which inserts data into a
>very simple table.
>
>The statement I'm using is thus :
>
>my($sth) = $dbh->prepare("insert into maintenance (sno, date, data) values
>('$sno', '$date', '$tmpstring')");
>
>(all on one line of course...)
>
>My problem is this. $tmpstring may well contain embedded newlines or '
>characters (these are the two characters I've had problems with so far).
I use embedded chars all the time, but with placeholders in the query. Try:
my($sth) = $dbh->prepare("insert into maintenance (sno, date, data) values
(?, ?, ?)");
then
if (!$sth->execute($sno, $date, $tmpstring))
die_horribly....
this way you'll get the value out of preparing the statement. You might
also want to use 'prepare_cached'.
I don't know if your original query should work, but it will have all sorts
of problems if, eg, you have a "'" in one of the strings.
----------------------------------------------------------------
Philip Warner | __---_____
Albatross Consulting Pty. Ltd. |----/ - \
(A.C.N. 008 659 498) | /(@) ______---_
Tel: (+61) 0500 83 82 81 | _________ \
Fax: (+61) 0500 83 82 82 | ___________ |
Http://www.rhyme.com.au | / \|
| --________--
PGP key available upon request, | /
and from pgp5.ai.mit.edu:11371 |/
From | Date | Subject | |
---|---|---|---|
Next Message | igor | 2000-07-24 13:54:10 | Alter table with arrays |
Previous Message | Mitch Vincent | 2000-07-24 13:44:40 | Re: Problem with inserting newlines and ' characters |