Newsgroup: it.comp.www.php
Titolo: Aggiornamento record DB

Ho il seguente script x aggiornare un record in un DB:
<?
$db_nome = "natural";
$nome_tabella = "surf_tavole";
$connessione = @mysql_connect("localhost", "root", "")
        or die("Impossibile stabilire una connessione.");
$db = @mysql_select_db($db_nome, $connessione)
        or die("Impossibile selezionare il database.");
$sql = "UPDATE $nome_tabella
        SET
        marca = \"$marca\",
        modello = \"$modello\",
        anno = \"$anno\",
        prezzo = \"$prezzo\",
        consigli = \"$consigli\",
        disponibilità = \"$disponibilità\",
        WHERE id = \"$id\"
";
$risultato = @mysql_query($sql,$connessione)
        or die("Impossibile eseguire l'interrogazione.");
?>
Solamente che non funziona, mi da l'errore "Impossibile eseguire
l'interrogazione."
Io credo che sia xche' non riesce a vedere l'ID del record, infatti se
faccio metto un <? echo "$id"; ?> nello script che mi recupera i valori del
record x poi rinviarli allo script che aggiorna ( quello che c'e' li sopra)
non visualizza l'ID, mentre se da MYSQLMONITOR provo a fare un order by id ,
gli id ci sono e come, anche se lo faccio dal browser ho l'ordine preciso
sia con ASC che con DESC, xo' non ottengo nemmeno qui il numero ID
nonostante ci sia scritto lo script giusto.
Se metto 'mysql_error($connessione)' al posto di "Impossibile eseguire
l'interrogazione." ottengo questo errore: 'You have an error in your SQL
syntax near 'WHERE id = "" ' at line 9'.
La mia tabella e' cosi' strutturata.
___________________________________________________________________
FIELD          |          TYPE             |   NULL  |  KEY  |     DEFAULT
| EXTRA
___________________________________________________________________
id                             int(11)                                 pri
null              auto increment
----------------------------------------------------------------------------
-------------
marca                      varchar(100)       yes
null
----------------------------------------------------------------------------
--------------
modello                   varchar(100)       yes
null
----------------------------------------------------------------------------
--------------
anno                        varchar(100)       yes
null
----------------------------------------------------------------------------
--------------
prezzo                     varchar(100)       yes
null
----------------------------------------------------------------------------
--------------
consigli                    varchar(100)       yes
null
----------------------------------------------------------------------------
--------------
disponibilità             varchar(100)       yes
null
----------------------------------------------------------------------------
--------------
Cosa c'e' di sbagliato?? Ed il motivo xche' non riesce ad aggiornare e'
xche' non sa DOVE (WHERE) deve aggiornare il record nella tabella? Oppure
no??
--
Stefano Caccia
www.srflashdesign.com
icq# 7182216


Non ho letto tutta la tua pappardella cmq mi sembra che l'errore sia nella
sintassi della query...
Non ne sono sicuro ma... non bisogna usare AND invece che la virgola (,) fra
l'assegnazione di un campo e l'altro ?
Esempio:
UPDATE tabella SET ciao='ciao' AND ariciao='ariciao' AND
altrocampo='altrovalore' WHERE id='$id'
Come ti ripeto, non ne sono sicuro, prova eventualmente...
Alex


Non ho letto tutta la tua pappardella cmq mi sembra che l'errore sia nella


 Come ti ripeto, non ne sono sicuro, prova eventualmente...
No no. Nell'SQL standard la sintassi dell'UPDATE e' con la virgola.
AND è una parola riservata per l'operatore logico AND appunto.
Francesco Dini
http://www.francescodini.f2s.com
-- 
Posted from  [195.94.133.5] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

L'errore dovrebbe stare nel passgio della variabile id. Controlla se
effettivamente gli passa un intero.
Dal tipo di errore sembra che addirittura non passi nulla, una stringa vuota.
Ciao
Francesco


 ha scritto nel messaggio
news:6a2c5f075a7e1a6a5dc...@mygate.mailgate.org...


 ha scritto nel messaggio
news:wyaI7.4808$0x4....@news2.tin.it...


 ha scritto nel messaggio
news:wyaI7.4808$0x4....@news2.tin.it...
