Visualizzazione dei risultati da 1 a 6 su 6

Discussione: non funziona l'update

  1. #1

    non funziona l'update

    Ho una tabella che vorrei aggiornare, però mi accade che quando modifico alcuni campi poi questi non vengono aggiornati mentre altri si, posto il codice della pagina:

    codice:
    include("config.php");
    include("errore.php");
    $db = mysql_connect($db_host, $db_user, $db_password);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.php");
    
    mysql_select_db($db_name, $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file config.php");
    
    
     $cod_prod=$_POST['cod_prod'];
     $marca= $_POST['marca'];
     $descr= $_POST['descr'];
     $qta= $_POST['qta'];
     $costo_un= $_POST['costo_un'];
     $costo_tot= $_POST['costo_tot'];
    
     echo $cod_prod;
     echo $marca;
     echo $descr;
     echo $qta;
     echo $costo_un;
     echo $costo_tot;
    
    $query = "update magazzino set cod_prod= '$cod_prod', marca= '$marca', descr= '$descr',
     qta='$qta', costo_un='$costo_un', costo_tot='$costo_tot'
    where  cod_prod = '$cod_prod'";
    
     
    if (mysql_query($query, $db))
    echo "L'articolo è stato aggiornato correttamente";
    else
    echo (errore_sql());
    mysql_close($db);
    
    
     ?>

    Ho verificato che i campi valorizzati dall'array $_POST sono corretti, cioé sono modificati rispetto all'originale. Non capisco come mai poi non risultano aggiornati nella tabella.
    Ad esempio il cod_prod non riesco a updatarlo, che fare?

  2. #2
    prima di effettuare la query fatti una stampa a video della stringa sql

    echo $query

    così ti puoi vedere se la query è giusta. Ti restituisce qualche errore, oppure non ti aggiorna i campi?

  3. #3
    la query è giusta visto che non mi dà errori, il fatto è che alcuni campi li aggiorna e altri no, non so dove sbattere la testa.

  4. #4
    I valori che ti passa l'array post sono giusti? Poi la prima cosa che ho notato è nella query, aggiorni il compo cod_prod e ci fai la restrizione su quello. Non so se una cosa del genere sia giusta

  5. #5
    mi sembra ovvia la cosa. Analizza l'UPDATE:

    definisci la tabella = magazzino
    definisci il filtro con where dove cod_prod = '$cod_prod'
    fai le modifiche.... domanda?

    che ci vai a mettere in cod_prod ?

    risposta nulla perche' e' uguale, gia' c'e', come e' uguale la variabile che usi. Altrimenti non l'avrebbe trovato.

    Diverso sarebbe se nel where utilizzassi un id univoco, numerico, non correlato ai dati, ecc..


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

  6. #6
    grazie, comunque c'ero arrivato anch'io perché il codice è la chiave del record e non può essere modificato, quindi è corretto così, mi resta solo da fare che nel form di partenza il codice sia evidenziato ma non modificabile, troverò la soluzione ma domani, ora ho sonno, ciao e grazie ancora.

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.