Re: [postgresql-it] errore di sintassi

  • From: roberto malatesta <hertzian.wave@xxxxxxxx>
  • To: postgresql-it <postgresql-it@xxxxxxxxxxxxx>
  • Date: Wed, 3 Oct 2007 13:15:29 +0200 (CEST)

mi fà piacere constatare che non ti sfugge nulla... 
o quasi :-)

in una precedente risposta, citando il manuale, dicevo
che se scritti "in chiaro" i valori vanno avvolti tra
le virgolette ("valore") mentre se usi delle var, tra
apici ('$variabile') in quanto se usi le virgolette il
valore contenuto all'interno della var non viene
espanso;

se hai visto nella mia risposta degli apici con
all'interno dei valori, è perchè ho fatto un copia &
incolla del messaggio d'errore di postgresql:

Warning: pg_query() [function.pg-query]: Query failed:
ERROR: syntax error at or near "obliqui" LINE 2:
values('', '', '', '{'obliqui','neri'}' , '', '', ^ in
/usr/.....

dal quale puoi vedere che i valori delle var $occ_form
(obliqui) e $occ_col (neri) sono stati espansi, il
fatto che siano avvolti da singoli apici ... non sò!

comunque se passi le due variabili tra le virgolette
non le espande e genera un'altro errore:

Parse error: syntax error, unexpected T_VARIABLE in
/usr/...xyz.php on line 74



--- Chris Mair <chris@xxxxxxxx> ha scritto:

Ciao :)

si Chris, sono d'accordo e mi sembrava di aver
scritto
che in chiaro, i valori vengono inseriti;

il problema è che i dati provengono da un form, e
quindi sottoforma di variabili ($gruppo, $razza
etc.)

inserendo i valori puri, verrebbe meno
l'opportunità
del form.. non sei d'accordo?

I casi sono due:
o tu non hai visto che stai semplicemente sbagliando
sintassi
SQL (non c'entra PHP)
o io non ho capito la domanda ;)

Ricapitolando:

-- o cosi`:
INSERT INTO volto (occhi) VALUES(array['piccoli',
'blu']);
INSERT 0 1

-- o cosi`:
INSERT INTO volto (occhi) VALUES('{"piccoli",
"blu"}');
INSERT 0 1

-- ma non cosi` (come stai facendo tu):
INSERT INTO volto (occhi) VALUES('{'piccoli',
'blu'}');
ERROR:  syntax error at or near "piccoli"
LINE 1: INSERT INTO volto (occhi)
VALUES('{'piccoli', 'blu'}');


Bye,
Chris.

_______________________________________________
Postgresql-it mailing list
Postgresql-it@xxxxxxxxxxxxx
http://lists.psql.it/mailman/listinfo/postgresql-it




      ___________________________________ 
L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail: 
http://it.docs.yahoo.com/nowyoucan.html

Other related posts: