• User Attivo

    @Thedarkita said:

    E' char o varchar? sono due cose differenti, poichè char deve essre obbligatoriamente 7 caratteri, varchar massimo 7 caratteri. Ma non credo il problema sia questo altrimenti dovrebbe generare un errore...

    Ho scritto male io è varchar(7)


  • User Attivo

    @Thedarkita said:

    Ciao Sara1985,

    Provando a fare:
    [php]
    echo "UPDATE ".$dbvin ." SET
    updated='".$time."',
    st='" . $_POST['st'] . "',
    vin='" . $_POST['vin'] . "',
    ye='" . $_POST['ye'] . "',
    ma='" . $_POST['ma'] . "',
    mo='" . $_POST['mo'] . "',
    co='" . $_POST['co'] . "',
    mi='" . $_POST['mi'] . "',
    pr='" . $_POST['pr'] . "',
    ex='" . $_POST['ex'] . "',
    in='" . $_POST['in'] . "',
    bo='" . $_POST['bo'] . "',
    do='" . $_POST['do'] . "',
    en='" . $_POST['en'] . "',
    fu='" . $_POST['fu'] . "',
    tr='" . $_POST['tr'] . "',
    st='" . $_POST['st'] . "',
    com='" . $_POST['com'] . "'
    WHERE ccode='".$ccode."'";
    [/php]
    La condizione WHERE ccode stampata è corretta?

    Provando dalla finestra SQL del Phpmyadmin ottengo questo:

    Messaggio di MySQL:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'echo "UPDATE ".$dbvin ." SET
    updated='".$time."',
    st='" . $_POST['st'] . "',' at line 1


  • ModSenior

    Ciao Sara1985,

    Ciò dipende dal fatto che quelle parole vengono interpretate come funzioni, solitamente si usa ` e non l'apice normale in modo da non incorerre in questi errori.
    Prova ad usarlo anche nella query di update e vedi se risolvi, ma è strano che non ti generi l'errore avendo messo mysql_error()...

    EDIT quel codice devi lanciarlo da php, non dal phpmyadmin direttamente...


  • User Attivo

    @Thedarkita said:

    Ciao Sara1985,

    EDIT quel codice devi lanciarlo da php, non dal phpmyadmin direttamente...

    Fatto, mi scrive qualcosa ,ma scompare subito, ho visto con un printscreen cosa dice.
    Lista tutte gli update fatti, non dà alcun errore e dice che è stato tutto eseguito con successo.. ma poi se guardo la scheda invece è tutto come prima 😢
    L'unico modo per far realmente aggiornare la scheda è togliere le 4 righe incriminate. :mmm: Ma così ovviamente non mi aggiorna i capi che ho escluso.
    Ma non credo sia un caso che nell'altra pagina proprio quei 4 campi abbiano una sintassi differente. Non basterebbe trovare quella corretta anche in questo pezzo di codice? 🙂


  • ModSenior

    Nell'ultimo mio post ti ho detto come fare la query di update, prova in quel modo 😉


  • User Attivo

    [...]

    Fatto...tutto come prima 😞


  • ModSenior

    [php]
    foreach($_POST as $postvars){
    if(empty($postvars)) {die ("Hai lasciato un campo vuoto!");}
    }
    $time = time();
    $link = mysql_connect($dbhost, $dbuser, $dbpass);
    $query = "UPDATE ".$dbvin ." SET
    updated='".$time."',
    st='" . $_POST['st'] . "',
    vin='" . $_POST['vin'] . "',
    ye='" . $_POST['ye'] . "',
    ma='" . $_POST['ma'] . "',
    mo='" . $_POST['mo'] . "',
    co='" . $_POST['co'] . "',
    mi='" . $_POST['mi'] . "',
    pr='" . $_POST['pr'] . "',
    ex='" . $_POST['ex'] . "',
    in='" . $_POST['in'] . "',
    bo='" . $_POST['bo'] . "',
    do='" . $_POST['do'] . "',
    en='" . $_POST['en'] . "',
    fu='" . $_POST['fu'] . "',
    tr='" . $_POST['tr'] . "',
    st='" . $_POST['st'] . "',
    com='" . $_POST['com'] . "'
    WHERE ccode='".$ccode."'";
    mysql_query($query, $link)or die("ERRORE:".mysql_error());
    echo "Operazione eseguita con successo!";
    mysql_close($link);
    [/php]


  • User Attivo

    Ce l'ho fatta!!!!! :yuppi:
    anzi..ce l'avete fatta :vai:
    Dopo un po' di prove, e vedendo che l'errore era sulla riga 8 della query e quindi sul quel campo "co"... ho messo "`" come suggerito da voi e tutto funziona.
    Ho modificato solo questa riga così

    [PHP]
    co='" . $_POST['co'] . "',
    [/PHP]

    Lasciando il resto invariato... Grazie!
    Ora mi piacerebbe capire perchè il campo "co" sia qui che nell'altra pagina vuole una sintassi differente dagli altri nonostante sia un campo uguale agli altri :mmm:


  • ModSenior

    E' un parola riservata... e quindi non veniva interpretato come nome di campo...


  • User Attivo

    @Thedarkita said:

    E' un parola riservata... e quindi non veniva interpretato come nome di campo...

    Grazie!
    Ora ho imparato una cosa nuova! :yuppi:
    Baci