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

    [PHP & MySQL] Problema con addslashes

    Ciao,

    ho un problema che non riesco a risolvere nella query che faccio mi da questo problema:

    Messaggio di errore nell'inserire:


    You have an error in your SQL syntax near '\'\', \'Admin\', \'test\', ' at line 2



    Codice PHP:
    if (isset($_POST['Submit']) && $_GET['action'] = "insert") {
    mysql_select_db($database_name$conn) or die (mysql_error());
    $query addslashes("INSERT INTO tb_guesbook (gb_callsign, gb_name, gb_linkName, gb_linkUrl, gb_dateTime, gb_object, gb_text, gb_email, gb_ip) VALUES (
                                                                                    '"
    .mysql_real_escape_string ($_POST['callsign'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['name'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['linkname'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['linkurl'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['dateTime'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['object'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['text'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['email'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['ip'],$conn)."'
                                                                                                    )"
    );
    mysql_query($query) or die (mysql_error());
    $msg "Messaggio inserito con successo!
    Message insert successfully!"
    ;

    Grazie Michel
    PHP THE BEST

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    metti una bella echo subito prima di lanciare il query e vediamo cos'ha costruito, così è proprio complicato daleggere (soprattutto perchè c'è pure da scrollare orizzontale)

  3. #3
    Ecco ho messo un echo prima della query:


    Codice PHP:
    INSERT INTO tb_guesbook (gb_callsigngb_namegb_linkNamegb_linkUrlgb_dateTimegb_objectgb_textgb_emailgb_ipVALUES ( \'\', \'jhfjh\', \'Enter your name shjghjite\', \'http://fjfjh\', \'15.02.2007 - 19:57:05\', \'fjfj\', \'fjhfj\', \'jhjhg\', \'127.0.0.1\' ) 

    Codice PHP:
    if (isset($_POST['Submit']) && $_GET['action'] = "insert") {
    mysql_select_db($database_name$conn) or die (mysql_error());
    echo 
    $query;
    $query addslashes("INSERT INTO tb_guesbook (gb_callsign, gb_name, gb_linkName, gb_linkUrl, gb_dateTime, gb_object, gb_text, gb_email, gb_ip) VALUES (
                                                                                    '"
    .mysql_real_escape_string ($_POST['callsign'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['name'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['linkname'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['linkurl'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['dateTime'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['object'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['text'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['email'],$conn)."',
                                                                                    '"
    .mysql_real_escape_string ($_POST['ip'],$conn)."'
                                                                                                    )"
    );
    echo 
    $query;                                                                                            
    mysql_query($query) or die (mysql_error());
    $msg "Messaggio inserito con successo!
    Message insert successfully!"
    ;

    Se vuoi verificare dal sito vai qui
    PHP THE BEST

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Scusa nel post dici che l'errore è

    You have an error in your SQL syntax near ''', 'Admin', 'test', ' at line 2

    Ma nel query che hai postato non c'è nessuna scritta Admin nè test

    Come lo trovo l'errore?

  5. #5
    Sorry ma credo di non avere capito, in poche parole quando cerco di mettere un messaggio nel guestbook mi da quell'errore, di fatti se provi non va! posso togliere addslashes e cosi funziona pero dopo mi ritrovo con messaggi nel guestbook da uno sconosciuto che si diverte a riempirlo di cazzate!!

    Dimmi cosa posso fare per aiutarti a capire dove sbaglio!!

    Grazie Michel
    PHP THE BEST

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Quello che dico è che non è possibile che dia questo errore

    You have an error in your SQL syntax near ''', 'Admin', 'test', ' at line 2

    Con il query di cui hai fatto l'echo... poichè in quel query non eiste alcuna scritta 'Admin' e 'test' da alcuna parte mentre l'errore dice "Hai un errore nella sintassi del tuo SQL vicino a 'Admin'"

    Quindi, c'è qualcosa che non quadra... O l'errore che hai postato è di una query precedente o hai copiato e incollato qualcosa di diverso

  7. #7
    Si era di una query precedente!
    PHP THE BEST

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Dura è?

    Allora. Potresti postare sia il query che l'errore RELATIVO ALLO STESSO QUERY
    Per ora ho un query e un errore relativo ad un query diverso... mi riesce difficile capirci qualcosa

  9. #9
    Heheh dura si bhua bhua,

    allora adesso mi sono perso non so piu cosa fare, al momento ho tolto addslashes e cosi funziona, ma poi mi serve veramente addslashes ? Io ho questa pagina dove inserire il messaggio, come detto se provo ad inserirlo con addslashes nella query non va ma senza funziona! In sostanza se non lo metto ho problemi di hacking del gb?

    Grazie per la pazienza Michel


    EDIT : ecco per esempio guarda adesso il guestbook c'é un utente che mi inserisce quello che vedi qui
    Mi fa impazzire sto qui aiutatemi gentilmente !!!
    PHP THE BEST

  10. #10
    Penso che il problema sta nel fatto che io ho un campo textfield con il valore di http:// e quando lo invio mi da errore dopo near ://www.test.com

    se tolgo http:// e metto test per esempio va ma poi dopo ce la data e ai punti della data mi da lo stesso errore, come posso risolvere questo?

    Codice PHP:
    You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near '://www.test.com , 15.02.2007 - 20:51:42 , test , test , [email]d@w.com[/email] , 127.0.0.1)' at line 1 
    PHP THE BEST

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.