Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    [MySQL]Problema con insert

    Ciao a tutti,
    sto sbattendo la testa su un pezzo di codice da un paio di giorni: non riesco a capire che diavolo di errore possa avere.
    Il codice è il seguente :
    Codice PHP:
    $insert mysql_query("INSERT INTO stats (user_id,for,des,pot_mag,def_mag,vit,luk,acc) VALUES ('$_POST[id_ut]','$for','$des','$pot_mag','$def_mag','$vit','$luk','$acc')") or die (mysql_error()); 
    e l'errore mostrato è

    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 'for,des,pot_mag,def_mag,vit,luk,acc) VALUES ('6','10','10','10','10','10','5','0' at line 1

    Non riesco a trovarlo...qualche suggerimento?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Re: [MySQL]Problema con insert

    Originariamente inviato da KaNnA
    Ciao a tutti,
    sto sbattendo la testa su un pezzo di codice da un paio di giorni: non riesco a capire che diavolo di errore possa avere.
    Il codice è il seguente :
    Codice PHP:
    $insert mysql_query("INSERT INTO stats (user_id,for,des,pot_mag,def_mag,vit,luk,acc) VALUES ('$_POST[id_ut]','$for','$des','$pot_mag','$def_mag','$vit','$luk','$acc')") or die (mysql_error()); 
    e l'errore mostrato è

    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 'for,des,pot_mag,def_mag,vit,luk,acc) VALUES ('6','10','10','10','10','10','5','0' at line 1

    Non riesco a trovarlo...qualche suggerimento?
    Non vorrei dire una cavolata, ma controlla che for non sia una parola riservata da mysql...

    ciao

  3. #3
    i values sono 7...mentre nelle parentesi seguente sono 8

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Samleo
    i values sono 7...mentre nelle parentesi seguente sono 8
    non è vero, e comunque mysql darebbe un errore diverso, segnalando appunto che c'è un errore nella conta dei parametri :-)

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    107

    Re: [MySQL]Problema con insert

    Sembra una cavolata ma a volte aggiungendo questo: ` , non mi dava più quell'errore:
    prova questo:

    Codice PHP:
    $insert mysql_query("INSERT INTO stats (`user_id`,`for`,`des`,`pot_mag`,`def_mag`,`vit`,`luk`,`acc`) VALUES ('{$_POST[id_ut]}','{$for}','{$des}','{$pot_mag}','{$def_mag}','{$vit}','{$luk}','{$acc}')") or die (mysql_error()); 
    p.s. ho aggiunto anche delle graffe per sicurezza
    Sai cos'è l'emo?

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:
    VALUES ('{$_POST['id_ut']}'
    e l'errore è proprio questo am io parere.

    le variabili che sono ricavate da array con il relativo indice devono SEMPRE stare tra parentesi graffe se si trattano all' intenterno di una stringa (la tua query appunto).
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Ok, grazie mille per le risposte, ho risolto utilizzando il codice fornitomi da Desk(Grazie!)
    Ora mi si pone davanti un altro problema:
    Codice PHP:
    <?php
    //inizio e distruggo le sessioni per pulirle
    session_start();
    session_destroy();
    //elimino i caratteri speciali
    $nome htmlspecialchars($_POST['nome']);
    $pass htmlspecialchars($_POST['pass']);
    $pass md5($pass);

    //includo il file di connessione al db
    include "inc/db_conn.php";
    //verifico che l'username e pwd siano corretti e che l'utente esista

    $query_utenti "SELECT * FROM utenti WHERE nome = '$nome' AND pwd = '$pass' LIMIT 1";
    $my mysql_query($query_utenti);
    $row mysql_fetch_array($my);
    print_r($row);
    //una volta verificato che l'utente esista attraverso un if num_rows == 0, redireziono l'utente in altre pagine
    ?>
    il problema è il seguente:
    eseguendo lo script non solo non stampa nulla, ma non esegue alcun tipo di query!
    le register_globals sono su off (dato che prima di alcune modifiche dava un errore che menzionava la direttiva register_globals)
    Da cosa può essere causato?
    Premetto che questo pezzo di codice l'ho sempre usato senza problemi in altri script nello stesso server!

  8. #8
    scusate se uppo ma senza sapere dov'è l'errore non posso andare avanti

  9. #9
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    usa myqsl_errror(); per vedere se c'è un errore nella query.
    Codice PHP:
    <?php
    //inizio e distruggo le sessioni per pulirle
    session_start();
    session_destroy();
    //elimino i caratteri speciali
    $nome htmlspecialchars($_POST['nome']);
    $pass htmlspecialchars($_POST['pass']);
    $pass md5($pass);

    //includo il file di connessione al db
    include "inc/db_conn.php";
    //verifico che l'username e pwd siano corretti e che l'utente esista

    $query_utenti "SELECT * FROM utenti WHERE nome = '$nome' AND pwd = '$pass' LIMIT 1";
    $my mysql_query($query_utenti) or die (mysql_error());
    $row mysql_fetch_array($my);
    print_r($row);
    //una volta verificato che l'utente esista attraverso un if num_rows == 0, redireziono l'utente in altre pagine
    ?>

  10. #10
    ho usato pure quello, ma non stampa nessun errore!
    è un vero mistero!

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.