errore query

Ho questo codice che esegue 2 query (una per cambiare un valore in un campo e la seconda per inserire dati in 2 campi dello stesso record):

$auth=$_GET["auth"];
    $user=$_GET["user"];
    
    $foto = $user;
    $min =  $user;
    
    if (trim($auth) == "")
     Errore("javascript:history.go(-1)", "Errore", "Codice di autorizzazione non corretto" ,".");
    
    $query="UPDATE ".$tbl_prefix."user SET actived = 1 WHERE auth = '$auth'";
    $risultato = mysql_query($query) or die("<img src=\"images/button_cancel.png\"> <span class=\"Stile7\">Il codice di autorizzazione non è corretto.</span>");
    
    $query2="INSERT INTO ".$tbl_prefix."user (foto ,miniature) VALUES ('$foto', '$min') WHERE auth = '$auth'";
    $risultato2 = mysql_query($query2) or die(mysql_error()); 

La prima funziona la seconda mi da questo errore:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use

near 'WHERE auth = '953e34f0cc1453eae336a7abe3e3f3a8'' at line 1

Dove sbaglio?

 Grazie

inviato 6 anni fa
frankphp
X 0 X

La query per inserire una tupla deve avere questo pattern:

INSERT INTO Nome_Tabella (colonna1, colonna 2,...) VALUES (valore1, valore2,....)

Non ha senso di conseguenza utilizzare il WHERE perchè si inserisce una tupla, non la si aggiorna.

Se vuoi aggiornarla devi usare la prima query che hai proposto.

ciao

risposto 6 anni fa
Mario Santagiuliana
X 0 X

La query per inserire una tupla deve avere questo pattern:

INSERT INTO Nome_Tabella (colonna1, colonna 2,...) VALUES (valore1, valore2,....)

Non ha senso di conseguenza utilizzare il WHERE perchè si inserisce una tupla, non la si aggiorna.

Se vuoi aggiornarla devi usare la prima query che hai proposto.

ciao

cos'è una tupla? :-[ :-[

E come posso allora integrare le 2 query?

Grazie

risposto 6 anni fa
frankphp
X 0 X
cos'è una tupla?

Una ricerca veloce con un qualsiasi motore di ricerca ti darà una risposta più esauriente di quella che ti potrei scrivere.

Non capisco cosa intendi con integrare le due query. Hanno due funzioni differenti. La prima (update) aggiorna un record (o tupla), la seconda inserisce una nuova tupla (o record) nel database.

risposto 6 anni fa
Mario Santagiuliana
X 0 X

ok ho capito cosa è una tupla (l'ho sempre chiamata riga o record..... ;D)

Io dovrei cambiare un valore in un campo dello stesso record e inserire 2 nomi in 2 campi ancora dello stesso record.

Se ho capito bene allora mi basta utilizzare SOLO il comando UPDATE.

Giusto?

Grazie.

risposto 6 anni fa
frankphp
X 0 X

Esattamente, non ti occorre fare due query, fanne una direttamente (risparmi tempo e interrogazioni al database).

risposto 6 anni fa
Mario Santagiuliana
X 0 X
Esattamente, non ti occorre fare due query, fanne una direttamente (risparmi tempo e interrogazioni al database).

ok grazie. Ciao e buone feste.

risposto 6 anni fa
frankphp
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda