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: 41F02CA4.10100@commandprompt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
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)

Sincerely,

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 => \'192.168.1.1\',
> 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 - http://www.commandprompt.com

Attachment Content-Type Size
jd.vcf text/x-vcard 640 bytes

In response to

Browse pgsql-admin by date

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