Skip site navigation (1) Skip section navigation (2)

Re: Trouble Escaping Quotes

From: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>
To: "Haron, Charles" <charles(dot)haron(at)cognitive(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: Trouble Escaping Quotes
Date: 2005-01-20 22:11:48
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-admin
Haron, Charles wrote:
> Hello,
> I'm using a perl function in my PosgreSQL database to send an email.
> However, field data containing single quotes causes the function to fail.
> I'm having trouble escaping the quotes.  Sample function definition follows.

You escape single quotes in PostgreSQL with 2 single quotes... e.g;

print 'foo';

Should be:

print ''foo''; (not double quotes, two single quotes)


Joshua D. Drake

> If company_name is Bob's Fixit, the function will fail.
> CREATE OR REPLACE FUNCTION public.send_rma(rma_info)
>   RETURNS void AS
> '
>     use Mail::Sender;
>     my ($rma_data) = @_;
>     my ($sender) = new Mail::Sender {
>       smtp => \'\',
>       from => \'supp(at)cog(dot)com\',
>      on_errors => \'die\'
>     };
>     $sender->Open({
>       to => \'pgsql-admin(at)postgresql(dot)org\',
>       cc => \'supp(at)cog(dot)com\',
>       subject => "RMA Request $rma_data->{\'rma\'}"
>     });
>     $sender->SendLineEnc("[RMA]");
>     $sender->SendLineEnc("$rma_data->{\'rma\'}");
>     $sender->SendLineEnc("[CASE NUMBER]");
>     $sender->SendLineEnc("$rma_data->{\'case_number\'}");
>     $sender->SendLineEnc("[COMPANY NAME]");
>     $sender->SendLineEnc("$rma_data->{\'company_name\'}");
>     $sender->Close();
> '
>   LANGUAGE 'plperlu' STABLE;
> Thanks,
> Chuck
> ***********************
> Confidentiality notice:  This electronic transmission message is intended only for the use of the individual or entity to whom it is addressed.  This information should be treated as proprietary, confidential, legally privileged and exempt from disclosure under applicable law.  If the reader of this message is not the intended recipient, (or the employee or agent responsible for delivering the message to the intended recipient), you are hereby notified that any use, dissemination, distribution, or copying of this message is strictly prohibited.  If you have received this communication in error, please immediately notify us by telephone (720) 221-9421 or by return e-mail and delete this message.  Thank you for your cooperation.
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match

Command Prompt, Inc., your source for PostgreSQL replication,
professional support, programming, managed services, shared
and dedicated hosting. Home of the Open Source Projects plPHP,
plPerlNG, pgManage,  and pgPHPtoolkit.
Contact us now at: +1-503-667-4564 -

Attachment: jd.vcf
Description: text/x-vcard (640 bytes)

In response to

pgsql-admin by date

Next:From: IainDate: 2005-01-21 02:59:36
Subject: Re: installing postgres7.3
Previous:From: Haron, CharlesDate: 2005-01-20 21:13:26
Subject: Trouble Escaping Quotes

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group