Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1

    Problemi con Update in db mysql 5

    salve a tutti
    ho provato ad aggiornare alcuni records utilizzando la seguente query su mysql 5
    i dati vengono passati da una form

    $idp = $_GET["l3"];
    $nome = strip_magic($_GET["nome"]);
    $nome = mysql_real_escape_string($nome);
    $sql = 'UPDATE tbset SET nome = \'' . $nome . '\' WHERE id = $idp';
    $modifica = mysql_query($sql);

    non modifica nulla
    l'INSERT fatta cosi funziona alla grande

    $id = $_GET["l1"];
    $idsottocat = $_GET["l2"];
    $nome = strip_magic($_GET["nome"]);
    $nome = mysql_real_escape_string($nome);
    $sSQL = "INSERT INTO tbset (id,idsottocat,nome) VALUES ('$id', '$idSottoCat', '$nome')";
    $inserimento = mysql_query($sSQL);

    sono agli inizi e volevo capire bene come interagire con i db

  2. #2
    1) prima di effettuare la mysql_query, scrivi:
    echo $sql
    potresti scoprire che non e' la query che tu avresti voluto.

    2) anziche'
    $modifica = mysql_query($sql);
    scrivi
    $modifica = mysql_query( $sql ) or die( mysql_error() );
    in questo modo ti dirà che tipo di errore insorge

    3) in ultima istanza confronta la sql stampata a schermo grazie al consiglio 1 con i dati realmente presenti nel database. se non modifica nulla e' perche' la condizione espressa nella where non soddisfa nessuno dei record inseriti
    si vivono molte vite e si muore una volta sola

  3. #3
    in effetti mi stampa questo errore

    Unknown column '$idcomune' in 'where clause'

    senti un po' ma non può essere che in qualche modo la funzioncina

    function strip_magic ($value)
    {
    $value = (get_magic_quotes_gpc()) ? stripslashes($value) : $value;
    return $value;
    }

    abbinata a
    $nome = mysql_real_escape_string($nome);

    e poi alla query
    $sql = 'UPDATE tbset SET nome = '' . $nome . '' WHERE id = $idp';

    crei confusione ?

  4. #4
    ahyahy! :rollo: non avevo / non avevi visto un errore basilare:

    'UPDATE tbset SET nome = '' . $nome . '' WHERE id = $idp';

    1) i doppi apici vicino a $nome non hanno "interrotto" per niente la stringa delimitata da apici singoli, come avresti voluto

    2) $a = 'ciao signor $nome' restituisce: ciao signor $nome, poiche' le variabili all'interno di stringhe vengono riconosciute solo se le stringhe sono delimitate da apici doppi

    e abbiamo risolto!
    si vivono molte vite e si muore una volta sola

  5. #5
    inizio ad avere un po' di confusione in testa anche perchè avrò provato almeno 50 combinazioni ed ora non mi ritrovo più VVoVe:

    ipotizziamo che la stringa sql sia racchiusa tra " "
    come gli passo il parametro recuperato relativo al nome ?
    le ho provate tutte
    '' $nome ''
    ' $nome '
    '' . $nome . ''
    etc etc ma non funziona nulla

    cosi dovrebbe andare come va l'insert
    $sql = "UPDATE tbset SET nome = '$nome' WHERE id = '$idp' ";

    e invece nulla
    aggiungo che la query stampata è ok e che nn mi viene dato alcun messaggio di errore ed il record da modificare esiste

  6. #6
    inizio a credere che i problemi nascano quando cerco di modificare il primo elemento del menù a tendina di uno script ajax
    perchè provando a modificare gli altri le modifiche vanno a buon fine !
    strano che comunque anche cercando di modificare il primo elemento la query sia corretta
    mah

  7. #7
    stampa la query per vedere come sono risolte le variabili.

    echo $sql;

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

  8. #8
    la query stampata a video è perfetta
    l'id del record da modificare è quello giusto ma non c'è modo di aggiornarlo
    davvero non so come venirne fuori
    non vorrei che fosse un problema legato allo script ajax

  9. #9
    se la query e' perfetta (lo saprai solo tu questo) vuol dire che i dati sono arrivati.

    la query la esegui? sarebbe interessante valutare lo script cosi' come lo usi e non una versione modificata appositamente per il post.

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

  10. #10
    il codice php ho appurato che funziona

    a questo punto l'unico problema può essere lo script ajax che però ho già inserito
    qui
    http://forum.html.it/forum/showthrea...readid=1191680

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 © 2024 vBulletin Solutions, Inc. All rights reserved.