Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [mysql]UPDATE sballato??

    Quando invio questa query:

    $aggiorna=mysql_query("UPDATE tabella_1 SET tip=0, NUMERO=(NUMERO - 1) where id='$id'");


    Mi si presenta questa "anomalia":

    in alcuni casi, invece di sotrarre 1 dal numero esistente nel campo NUMERO, mi sottrae 2 ed a volte addirittura 3!!
    Il campo da aggiornare e di tipo INT e non è ne unique ne primary, ecc..
    Ho provato a creare un file con solo questa istruzione ed il problema persiste.
    Anche eliminando le parentesi presenti in NUMERO=(NUMERO-1) niente da fare.
    Ho pensato al browser, ma accade sia con FIREFOX che IE.
    Quello che è assurdo è che non accade sempre, ma casualmente...
    Non riesco a capire dove è il problema...
    Qualche dritta??
    http://www.indianiamericani.it

  2. #2
    provato ad eliminare gli apici?
    Codice PHP:
    $aggiorna=mysql_query("UPDATE tabella_1 SET tip=0, NUMERO=(NUMERO - 1) where id = $id "); 
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    si, provato un pò tutte le soluzione di "punteggiatura".
    Ho provato anche a fare un SELECT prima dell'UPDATE, per reperire l'ID voluto ed anche il valore esistente nel campo NUMERO e creare una variabile $NEW_NUMERO da inserire nel campo NUMERO senza effettuare la sottrazione durante l'UPDATE, ma nisba....

    Sembra una sorta di ridondanza, come se il comando venisse duplicato.
    Bo....
    http://www.indianiamericani.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    fai cosi' e poi posta l'errore

    Codice PHP:
    $aggiorna=mysql_query("UPDATE tabella_1 SET tip=0, NUMERO=(NUMERO - 1) where id = $id ") or die(mysql_error()); 
    No pvt per sollecitare risposte, grazie.

  5. #5
    NOn da nessun errore, l'unico errore è che il campo NUMERO viene aggiornato in maniera anomala. Se ad esempio prima dell'invio il campo ha valore 10, dopo l'istruzione non va a 9, ma a 8 o a 7. Ma non sempre.
    L'ulteriore stranezza è che in fase di somma (quando il caso è NUMERO+1) funziona !
    http://www.indianiamericani.it

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da marcalby
    sembra una sorta di ridondanza, come se il comando venisse duplicato.
    Appunto.
    Sei sicuro che la query venga eseguita una volta sola?

  7. #7
    Originariamente inviato da luca200
    Appunto.
    Sei sicuro che la query venga eseguita una volta sola?
    Ho provato a creare un file con solo questa istruzione ed il problema persiste.
    .

    Ho inserito l'opzione low_priority per l'UPDATE, e sembra che funzioni...

    Se si ripresenterà il problema, credo che farò DELETE ed INSERT, senza l'UPDATE. Così ho visto che funziona sempre ok.
    http://www.indianiamericani.it

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.