Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52

    Updating non effettuato con PHP 5.1.4

    Salve,
    Da poco uso Xammp 1.5.3a con PHP 5.1.4 e Apache 2.0.
    Quando modifico un record, usando il codice:

    <?php
    mysql_select_db($database, $conn);
    $recordID = $_POST['recordID'];

    $uno=$_Post["nuovouno"];
    $due=$_Post["nuovodue"];

    $sql_query="UPDATE db_prove SET
    uno='$nuovouno',
    due='$nuovodue'
    WHERE id='$recordID'";

    $res = mysql_query($sql_query);
    $num = mysql_affected_rows();


    if($num>0)
    {
    echo "Il record è stato modificato

    ";
    }
    else
    {
    echo "Il record non è stato modificato

    ";
    }
    ?>

    mi viene accettato tutto, ma se guardo il record modificato lo trovo vuoto.
    Qualcuno sa consigliarmi cosa controllare?
    Se si trattasse di privilegi, come controllarli e comme correggere il problema?
    Con la stessa sintassi e con PHP 4.xx ed EasyPHP non avevo problemi.
    Grazie

  2. #2
    codice:
    $uno=$_Post["nuovouno"]; 
    $due=$_Post["nuovodue"];
    
    $sql_query="UPDATE db_prove SET
    uno='$nuovouno', 
    due='$nuovodue'
    WHERE id='$recordID'";

    non ti pare di vedere qualcosa di strano????

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52
    Originariamente inviato da piero.mac
    codice:
    $uno=$_Post["nuovouno"]; 
    $due=$_Post["nuovodue"];
    
    $sql_query="UPDATE db_prove SET
    uno='$nuovouno', 
    due='$nuovodue'
    WHERE id='$recordID'";

    non ti pare di vedere qualcosa di strano????
    E' stato solo un lapsus nel ricopiare il codice su questo Forum, in effetti è $uno e $due al posto di $nuovouno e $nuovodue. Il problema è sempre presente!
    Voglio segnalare che non ho problemi nell'aggiungere un nuovo record, nel cancellare un record e nel mostrarlo, sia in un elenco con radiobutton per la scelta, che per intero.
    Nessun problema nel mostrarlo per la modifica. Solo l'updating, pur dicendomi che il record è stato modificato, come da codice, mi cancella tutto il contenuto del record (il contenuto di tutti i campi) lasciando il record presente, ma vuoto.

  4. #4
    Originariamente inviato da Lehaen
    Solo l'updating, pur dicendomi che il record è stato modificato, come da codice, mi cancella tutto il contenuto del record (il contenuto di tutti i campi) lasciando il record presente, ma vuoto.
    stampa la query e vedi cosa risolve.

    echo $sql_query;


    ps... e' un lapsus anche $_post in minuscolo????

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52
    Originariamente inviato da piero.mac
    stampa la query e vedi cosa risolve.

    echo $sql_query;


    ps... e' un lapsus anche $_post in minuscolo????
    Quello risulta scritto $_Post.
    Risultato della query:

    UPDATE db_prove SET uno='', due='' WHERE id='8'Il record è stato modificato

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52
    Ho tolto gli apici singoli nello script dell'updating ed ecco il risultato:

    UPDATE db_prove SET uno=ser frt cccccc, due=bhg bhg WHERE id=9Il record non è stato modificato.

    Adesso scrive bene la modifica ma non l'accetta, evidentemente dovrò rivedere tutti gli apici singoli e doppi.
    Questo è dovuto sicuramente alla nuova versione di PHP - MYSQL - ecc.

  7. #7
    gli apici ci vogliono.
    Codice PHP:
    $sql_query="UPDATE db_prove SET
    uno='
    $uno', 
    due='
    $due'
    WHERE id='
    $recordID'"
    l'array post va scritto in maiuscolo. $_POST. variabili ed array sono case sensitive.

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

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52
    <?php
    mysql_select_db($database, $conn);
    $recordID=$_POST['recordID'];
    $uno=$_POST['nuovouno'];
    $due=$_POST['nuovodue'];
    $sql_query="UPDATE db_prove SET uno='$uno', due='$due' WHERE id='$recordID'";
    echo $sql_query;
    $num = mysql_affected_rows();
    if($num>0)
    {
    echo "Il record è stato modificato

    ";
    }
    else
    {
    echo "Il record non è stato modificato

    ";
    }
    ?>

    Questa è la situazione attuale

    UPDATE db_prove SET uno='record c di prova', due='record d di prova hhh ' WHERE id='11'Il record non è stato modificato.
    Dove hhh è la modifica che ho apportato.
    Non riesco a vedere errori.

  9. #9
    metti la segnalazione di errore alla query e tieni presente che se la modifica che vuoi fare e' identica al contenuto gia' presente ti rendera' zero righe modificate.

    e poi sopratutto ricordati de eseguire la query. Potrebbe essere importante.

    mysql_query($sql_query) or die(mysql_error()) ;


    .

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

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2000
    Messaggi
    52
    Originariamente inviato da piero.mac
    metti la segnalazione di errore alla query ......

    mysql_query($sql_query) or die(mysql_error()) ;


    .
    Non so cosa sia successo, ma aggiungendo la riga di segnalazione errore che mi hai postato, subito dopo la riga 'echo $sql_query', va tutto bene.
    Era ora!
    Grazie infinite

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.