Re: don't understand something about backslashes

From: Dennis Gearon <gearond(at)cvc(dot)net>
To: Darren Ferguson <darren(at)thread(dot)crystalballinc(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: don't understand something about backslashes
Date: 2003-03-20 20:27:38
Message-ID: 3E7A243A.9090404@cvc.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Actually, that is most good!

The backslash causes the character to be treated JUST as a character,
not as part of some command,right?

But then it gets consumed so that it doesn't increase the size of a data
field. Cool!

So I don't have to unescape it when I draw the data back out of the
database, oh so cool!

Darren Ferguson wrote:
> The back slash on insert is just escaping the character so Postgres will
> not throw errors when adding ' or any other specialized charachters into
> the database.
>
> If you want the backslashes to be in the record you have to double escape
> them as shown below.
>
> HTH
>
> Darren
>
> oss=> create table test (id varchar(64) not null);
> CREATE TABLE
> oss=> insert into test values ('darren\'s');
> INSERT 9648444 1
> oss=> select * from test;
> id
> ----------
> darren's
> (1 row)
>
> oss=> insert into test values ('darren\\\'s');
> INSERT 9648445 1
> oss=> select * from test;
> id
> -----------
> darren's
> darren\'s
> (2 rows)
>
>
> On Thu, 20 Mar 2003, Dennis Gearon wrote:
>
>
>>I have a varchar that is 64 wide. I prescape stuff like the '-'
>>character to prevent SQL injection.
>>
>>Here is the EXACT field value that I inserted recently,for a test. It
>>comes to approx 100 chars.
>>
>>'\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1\-1'::varchar,
>>
>>I insert that and get:
>>
>> NO ERROR
>>
>>When I look at the record in phpPgAdmin, the slashes don't show up in
>>the record.
>>
>>So, do they make it to the record, anyone know? What do I have to do for
>>the PostgreSQL engine to prevent '--' character from ending a line in a
>>a string? Or in general, get the backslashes in the record?
>>
>>
>>
>>
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 6: Have you searched our list archives?
>>
>>http://archives.postgresql.org
>>
>
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Darren Ferguson 2003-03-20 20:31:27 Re: don't understand something about backslashes
Previous Message Stephan Szabo 2003-03-20 20:21:24 Re: don't understand something about backslashes