Re: problem with single quote in postgres 8.3.5

From: Raymond O'Donnell <rod(at)iol(dot)ie>
To: hugocoolens <hugocoolens(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: problem with single quote in postgres 8.3.5
Date: 2009-03-07 17:50:43
Message-ID: 49B2B3F3.30200@iol.ie
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 07/03/2009 13:53, hugocoolens wrote:
> I have a little php-script to help me learn foreign languages
> In my php-code I have the following line:
> $query="update wordlist set known=true where dutch='".$preceding."'";
>
> This worked fine on a system running postgres 8.1, however in version
> 8.3.5 something changed which makes records with the dutch-field
> containing single quotes unfindable. You could argue that it's a bad
> practice to include records with single quotes in a field but in
> language related applications it's unavoidable as single quotes are
> used and escaping every single quote when adding data to the database
> is something you can't ask the user.
>
> example of a dutch field which causes the problem: hij zei: 'het is
> waar'
>
> I guess there must be a way to escape the single quotes automatically
> without rebuilding the database

I'm not completely sure what you're looking for, but do you know the PHP
function pg_escape_string()? -

$query = "update wordlist set known=true where dutch='"
. pg_escape_string($preceding) . "'";

HTH,

Ray.

------------------------------------------------------------------
Raymond O'Donnell, Director of Music, Galway Cathedral, Ireland
rod(at)iol(dot)ie
Galway Cathedral Recitals: http://www.galwaycathedral.org/recitals
------------------------------------------------------------------

In response to

Browse pgsql-general by date

  From Date Subject
Next Message David Fetter 2009-03-07 18:02:22 Re: problem with single quote in postgres 8.3.5
Previous Message Anderson dos Santos Donda 2009-03-07 17:14:31 VACUUM