Visualizzazione dei risultati da 1 a 7 su 7

Discussione: update non va

  1. #1

    update non va

    Codice PHP:
    session_start();
     
    $nick $_SESSION['nick'];
     include(
    'connect.php');
     
    $nome $_POST['nome'];
     
    $eta $_POST['eta'];
     
    $sex $_POST['sex'];
     
    $email $_POST['email'];
     
    $citta $_POST['citta'];
     
    $msg $_POST['msg'];
     
    mysql_query("UPDATE utenti SET email='$email',nome='$nome',eta='$eta',sex='$sex',citta='$citta,msg='$msg' WHERE nick = '$nick' ") or die(mysql_error());
     
    $bk['it']="$nick il tuo profilo e' stato aggiornato
    [url='/myprofile.php']torna al profilo[/url]"
    ;
     
    $bk['en']="$nick your profile is updated
    [url='/myprofile.php']back to profile[/url]"
    ; die("$bk[$tk]");
     
    mysql_close($connex); 
    ciao a tutti vorrei capire dove sbaglio in questo script visto che la tabella utenti non viene aggiornata premetto che ho fatto un bel pò di prove e dalla pagina precedente arrivano tutti i $_POST[] a destinazione mentre la tabella non n e vuole sapere di aggiornarsi.....
    cè qualcosa che mi sfugge in questo script???

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Se il campo eta è un int, togli gli apici da qui
    eta='$eta'

  3. #3
    Ciao,
    nella update dopo
    $citta
    manca l'apice e quindi la updati fallisce dando errore

    però il vero errore non è quello, ma è questo:
    Codice PHP:
     mysql_query("UPDATE....") or die(mysql_error()); 
    Non serve a niente mettere quell or die( )
    se non metti un echo dentro:

    Codice PHP:
     mysql_query("UPDATE....") or die(echo mysql_error()); 
    Così ti avrebbe stampato "mysql syntax error balbalabla vicino a ...."
    e ti saresti subito accorto che mancava un apice dopo $citta

  4. #4
    Originariamente inviato da philbert
    Ciao,
    nella update dopo
    $citta
    manca l'apice e quindi la updati fallisce dando errore

    però il vero errore non è quello, ma è questo:
    Codice PHP:
     mysql_query("UPDATE....") or die(mysql_error()); 
    Non serve a niente mettere quell or die( )
    se non metti un echo dentro:

    Codice PHP:
     mysql_query("UPDATE....") or die(echo mysql_error()); 
    Così ti avrebbe stampato "mysql syntax error balbalabla vicino a ...."
    e ti saresti subito accorto che mancava un apice dopo $citta
    L'errore probabilmente è quello che hai segnalato tu (tipico del codice, sempre più frequente, scritto con i piedi) ma nella funzione die() non è necessario inserire l'echo in quanto essa termina lo script visualizzando il testo passato come parametro. La funzione mysql_error() restituisce il messaggio di errore che viene correttamente visualizzato dalla funzione die().
    Come da manuale (la funzione die() equivale alla funzione exit():

    codice:
    exit — Output a message and terminate the current script
    P.S.
    Poi il perchè non sia venuto fuori l'errore generato dalla query probabilmente è dovuto al fatto che le persone non li leggono affatto oppure ritengono che non siano importanti ai fini della risoluzione dei problemi. Sempre più spesso infatti si leggono 3d in cui ci si limita a dire che lo script non funziona omettendo completamente le segnalazioni di errore.

    Originariamente inviato da philbert
    Così ti avrebbe stampato "mysql syntax error balbalabla vicino a ...."
    e ti saresti subito accorto che mancava un apice dopo $citta
    Più facile a dirsi che a farsi
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Originariamente inviato da satifal
    .... nella funzione die() non è necessario inserire l'echo in quanto essa termina lo script visualizzando il testo passato come parametro. La funzione mysql_error() restituisce il messaggio di errore che viene correttamente visualizzato dalla funzione die().
    Come da manuale (la funzione die() equivale alla funzione exit():

    exit — Output a message and terminate the current script
    Hai ragione, ritiro la lezioncina boriosa che ho fatto ad
    Alhazred

  6. #6
    ehm nello script qui sopra ho dimenticato io di mettere l apice durante il copia e incolla
    sul sito invece cè....
    e non mi da alcun errore... solo non aggiorna la tabella volevo sapere se il doctype del sito può centrarci qualcosa visto che a mia memoria è stata l ultima cosa che ho modificato prima che mi desse sto problema.... in alcuni casi ho notato anche che con INSERT tag ci sono addirittura posts doppi ciò vuol dire che centra poco lo script...

  7. #7
    ok diciam che ho trovato il problema....
    in pratica ad ogni click la query viene inviata 2volte (cioè la prima va bene la seconda trovando i $_POST[] vuoti riporta i campi delle tabelle vuote), premetto che fino a 15giorni fa non avevo questo problema mentre ora sta capitando ovunque sul mio sito qualcuno può spiegarmi da cosa è dovuto??
    (non so neanche se devo aprire un topic a parte x questo problema )

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.