Visualizzazione risultati 1 fino 6 di 6

Discussione: Aiuto per errore mysql

  1. #1
    ilmondonliner non è connesso Utente giovane
    Data registrazione
    05-12-2011
    Messaggi
    44

    Predefinito Aiuto per errore mysql

    Salve sto creando un browser-game,
    ho creato un sistema di messaggistica interna al sito, e nel file che invia il messaggio (cioè che scrive nel database il messaggio e altri dati che lo riguardano)
    ma mi fa un errore Mysql:

    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 'mess_num = '1'WHERE user_username = 'tester13'' at line 1


    Codice PHP:
    <?php
    require ('parte1.php');
    $user =$_SESSION['username'];
    ?>

    <?php
    // le variabili
    $mittente = $nome;
    $id = $id;
    $destinatario =$_POST['destinatario'];
    $oggetto =$_POST['oggetto'];
    $testo =$_POST['testo'];
    $nmess = ++$mess_num;
    $nid_mess = "$id" . "|$nmess";

    // invio del messaggio
    $invio ="INSERT INTO messaggi (id_mess,mittente,destinatario,oggetto,testo,letto)
    VALUES
    ('
    $nid_mess',
    '
    $mittente',
    '
    $destinatario',
    '
    $oggetto',
    '
    $testo',
    '1')"
    ;
    $res = mysql_query($invio) or die(mysql_error());
    $mess = "$user_mess" . $nid_mess";

    $update = "UPDATE user SET " .
    "messaggi = '$mess' " .
    "mess_num = '$nmess'" .
    "WHERE user_username = '$destinatario'";

    $res2 = mysql_query($update) or die(mysql_error());
    echo
    "Messaggio inviato con successo!";
    ?>

    <?
    require ('parte2.php');
    ?>
    Ho provato a risorvelo ma non ci sono riuscito, avete qualche idea per risorvelo?

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    L'errore dice tutto.

    Dai un'occhiata qui:

    http://www.w3schools.com/sql/sql_update.asp

    Da quello che vedo manga una virgola nella query sql, dopo il SET.

    P.S.: Non ho visto se ci sono altri errori, ma non credo ci ne sono.

    P.P.S: Da quello che ho visto la query di aggiornamento puoi anche evitarla, se ti serve solo per sapere il numero di messaggi, cosa che puoi sapere semplicemente contatto i numeri di record, nella tabella messaggi, che hanno nel campo destinatario il tuo username.
    Ultima modifica di sevenjeak : 29-01-2012 alle ore 00.09.37

    Sevenjeak
    Software developer and much more

  3. #3
    ilmondonliner non è connesso Utente giovane
    Data registrazione
    05-12-2011
    Messaggi
    44

    Predefinito

    Adesso funziona, non ci sono altri errori.
    Grazie! XD

  4. #4
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    CONSIGLIO
    Codice PHP:
    $id = $id;
    Puoi anche evitartelo... appesantisce solo la pagina.
    Ciao!

  5. #5
    ilmondonliner non è connesso Utente giovane
    Data registrazione
    05-12-2011
    Messaggi
    44

    Predefinito

    ah ok,grazie

  6. #6
    Guest

    Predefinito

    Codice PHP:
    $update = "UPDATE user SET " .
    "messaggi = '$mess' " .
    "mess_num = '$nmess'" .
    "WHERE user_username = '$destinatario'";
    Manca uno spazio prima della clausola WHERE: è questo l'errore segnalato da MySQL.


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •