Visualizzazione dei risultati da 1 a 8 su 8

Discussione: update non aggiorna

  1. #1

    update non aggiorna

    ciao a tutti,

    trovate qualcosa di sbagliato nella sintasi di questo codice?
    con tutto il mio stupore non aggiorna il record

    [CODE]$totok= $prexxo * $valoremodifica;
    $aggiorna="UPDATE carrello SET quantita='$valoremodifica', costo_totale='$totok' WHERE id_ordine='$max_ord[0] AND id_prodotto='$cod'";
    $okaggiorna=mysql_query($aggiorna,$conn);
    CODE]



    grazie
    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  2. #2
    codice:
    $totok=  $prexxo * $valoremodifica;
    $aggiorna="UPDATE carrello SET quantita='$valoremodifica', costo_totale='$totok' WHERE id_ordine='$max_ord[0] AND id_prodotto='$cod'";
    $okaggiorna=mysql_query($aggiorna,$conn);
    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    281
    per adesso vedo solo che manca una virgoletta sulla destra di maxord.

    per la correttezza del tutto, lascio la parola a qualcun altro...

    cmq abilita la segnalazione d'errore per mysql così se è la stringa ad essere cannata ti esce la segnalazione.

  4. #4
    Originariamente inviato da riaw
    per adesso vedo solo che manca una virgoletta sulla destra di maxord.

    per la correttezza del tutto, lascio la parola a qualcun altro...

    cmq abilita la segnalazione d'errore per mysql così se è la stringa ad essere cannata ti esce la segnalazione.
    Yes sir!...

    id_ordine='$max_ord[0]
    la destra e' orfana di chiusura....


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    ohh, si grazie, quella mi era proprio scappata.
    il problema persiste, ho messo anche un conrtrollo per vedere se fa la query e non entra nell'if

    codice:
    $prexxo=$price[0];
    $totok=  $prexxo * $valoremodifica;
    $aggiorna="UPDATE ordini SET quantita='$valoremodifica', costo_totale='$totok' WHERE id_ordine='$max_ord[0]' AND id_prodotto='$cod'";
    $okaggiorna=mysql_query($aggiorna,$conn);
    if(!$okaggiorna){
    echo"non ho aggiornato!";
    exit;
    }
    addirittura poi stampo per controllarli $totok $prexxo $valoremodifica ed ognuno ha il giusto valore ma nulla viene agiornato
    Allora ho provato a entrare in mysql e mettergli ad esempio:

    UPDATE ordini SET quantita=5, costo_totale=1000 WHERE id_ordine='7' AND id_prodotto='m000002'

    con questo funziona!! .......... non mi capacito e non so convertirlo in mysql perchè ovviamente questi valori non possono essere fissi
    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  6. #6
    angy sa la risposta.
    porta fuori l'array dalle virgolette!!!

    codice:
    $aggiorna="UPDATE ordini SET quantita='$valoremodifica', costo_totale='$totok' WHERE id_ordine='".$max_ord[0]."' AND id_prodotto='$cod'";
    anija . è solo un blog
    www.anija.it

    «i'm a fountain of blood · in the shape of a girl»

  7. #7
    grazie angy, ho risolto, il problema è che sono un OT!! per non dire altro, devo smettere di programmare a quest'ora.

    id_prodotto='$cod' <-- è sbagliato
    id_prodotto='$codice_prodotto' <-- è giusto

    non capisco perchè non entrava nell'if per dirmi che non era riuscito ad aggiornare, il where non poteva trovare nulla perchè essendo sbagliata la variabile era vuota.....mah, misteri

    grazie a tutti e tre


    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  8. #8
    Originariamente inviato da emerson74
    grazie angy, ho risolto, il problema è che sono un OT!! per non dire altro, devo smettere di programmare a quest'ora.

    id_prodotto='$cod' <-- è sbagliato
    id_prodotto='$codice_prodotto' <-- è giusto

    non capisco perchè non entrava nell'if per dirmi che non era riuscito ad aggiornare, il where non poteva trovare nulla perchè essendo sbagliata la variabile era vuota.....mah, misteri

    grazie a tutti e tre


    Perche' una query UPDATE che non modifica righe non e' FALSE... e' solo una query che non riscontra condizioni e basta. mysql_query rende sempre e solo TRUE da zero a nn righe, FALSE solo in caso di errore di query.

    Diverso sarebbe il risultato di UPDATE da linea di comando. Renderebbe zero righe modificate che equivale a FALSE.

    Sono in molti a fare questo errore. Se vuoi conoscere il numero di righe modificate devi usare:

    mysql_affected_rows($link)

    Quanto detto vale anche per INSERT e DELETE.


    La prossima volta stampati la query. vedresti subito l'inghippo.



    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.