[Gfoss] problema update in Postgis

Ciao a Tutti,
sto scrivendo un semplice script in php dove aggiorno dei campi di una tabella PostGIS.
Sono acerbo in materia,percui mi sono fermato alla seguente difficoltà, che sicuramente sarà una stupidaggine.
In pratica ho lanciato nel mio file php il seguente comando:

$update=@pg_query($conn,'update “CapitaliNazioni” set “Capitale”=‘Roma’ where “Nazione”=‘Italia’ ’ );

Ho fatto un semplice if che mi avvertisse in caso di fallimento dell’Update.Cosa che avviene sempre,perchè ho un problema sul
riconoscimento degli apici all’interno delle parentesi della query.
Intanto ho provato sulla SQL Window del PostGIS Manager di QGIS ed in effetti , l’aggiornamento lo effettua secondo questa dicitura

update “CapitaliNazioni” set “Capitale”=‘Roma’ where “Nazione”=‘Italia’

E’ chiaro allora che il mio file php legge all’interno delle parentesi due cose incomprensibili:

una prima parte: ‘update “CapitaliNazioni” set “Capitale”=’

una seconda parte: ’ where “Nazione”=’

Come risolvere questo problema degli apici?

Nicola De Innocentis

www.nicoladeinnocentis.it

On Wed, May 11, 2011 at 05:32:03PM +0200, Nicola De Innocentis wrote:

$update=@pg_query($conn,'update "CapitaliNazioni" set "Capitale"='Roma'
where "Nazione"='Italia' ' );

<?php
echo ' " \' \\ \n';
echo " \" ' \\ \n";
?>

--strk;

  () Free GIS & Flash consultant/developer
  /\ http://strk.keybit.net/services.html

scusami Sandro,
ho provato a modificare n questo modo ,ma sempre con esiti negativi

$update=@pg_query($conn,‘update "CapitaliNazioni set “Capitale”='Roma' where “Nazione”='Italia’);

forse non ho capito bene il tuo esempio.grazie per l’aiuto.

2011/5/11 Sandro Santilli <strk@keybit.net>

On Wed, May 11, 2011 at 05:32:03PM +0200, Nicola De Innocentis wrote:

$update=@pg_query($conn,'update “CapitaliNazioni” set “Capitale”=‘Roma’
where “Nazione”=‘Italia’ ’ );

<?php echo ' " \' \\ \n'; echo " \" ' \\ \n"; ?>

–strk;

() Free GIS & Flash consultant/developer
/\ http://strk.keybit.net/services.html


Nicola De Innocentis

www.nicoladeinnocentis.it

On Wed, May 11, 2011 at 06:23:26PM +0200, Nicola De Innocentis wrote:

scusami Sandro,
ho provato a modificare n questo modo ,ma sempre con esiti negativi

$update=@pg_query($conn,'update "CapitaliNazioni set "Capitale"=\'Roma\'
where "Nazione"=\'Italia');

Forse manca un \' dopo Italia.

Un consiglio: in Postgres evitate come la peste i nomi di tabella
e di campo con le maiuscole, ancora peggio "mixed case". Se
mettete tutto minuscolo potete evitare i doppi apici nella
stringa SQL e il PHP risulta più facile da scrivere.

--
Niccolo Rigacci
Firenze - Italy
Tel. ufficio: 055-0118525