Visualizzazione dei risultati da 1 a 9 su 9

Discussione: MySql e apostrofi

  1. #1
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080

    MySql e apostrofi

    Ho un db mysql sul quale faccio girare un'applicazione asp...
    Inserisco i dati in questo modo:

    sql = "INSERT INTO soggetto (cognrag, nome) VALUES ('" & _
    Replace(Request.Form("cognrag"), "'", "\'") & "', '" & _
    Replace(Request.Form("nome"), "'", "\'") & "')"
    conn.Execute(sql)

    Però se cognrag è un nome con l'apostrofo ovviamente il programma va in crash... soluzioni?

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    61
    Rimpiazza gli apostrofi con doppi apostrofi nella stringa sql.

    Cià!

  3. #3
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    La prima query è questa:

    sql = "SELECT * FROM soggetto WHERE cognrag=''" & Request.Form("cognrag")&"'' and nome=''" & Request.Form("nome")&"''"

    Se inserisco la parola l'amico come cognrag l'errore è questo:

    Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

    [TCX][MyODBC]You have an error in your SQL syntax near 'l'amico'' and nome=''''' at line 1

    /rubrica/insnom.asp, line 29

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    61
    codice:
    sql = "SELECT * FROM soggetto WHERE cognrag='" & Replace(Request.Form("cognrag"),"'","''")&"' and nome='" & Replace(Request.Form("nome"),"'","''")&"'"
    così dovrebbe andare... fammi sapere

    cià!

  5. #5
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    Grazie quella funziona

    Adesso l'errore è su questa

    sql = "INSERT INTO soggetto (cognrag, nome) VALUES (''" & _
    Replace(Request.Form("cognrag"), "''", "\''") & "'', ''" & _
    Replace(Request.Form("nome"), "''", "\''") & "'')"
    conn.Execute(sql)


    Ovviamente non digerisce '', tu praticamente hai cambaito '' in "'""'"?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    61
    stesso discorso, fai un Replace di "'" con "''"....

    ciao

  7. #7
    Utente di HTML.it L'avatar di Sonikag
    Registrato dal
    Mar 2004
    Messaggi
    2,080
    sql = "INSERT INTO soggetto (cognrag, nome) VALUES ('" & _
    Replace(Request.Form("cognrag"), "''", "\''") & "'', ''" & _
    Replace(Request.Form("nome"), "''", "\''") & "')"
    conn.Execute(sql)


    Non gli va bene... dove sbaglio?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    61
    codice:
    sql = "INSERT INTO soggetto (cognrag, nome) VALUES ('" & _ 
    Replace(Request.Form("cognrag"), "'", "''") & "', '" & _ 
    Replace(Request.Form("nome"), "'", "''") & "')" 
    conn.Execute(sql)
    così

    ciao cara

  9. #9
    codice:
    sql = "INSERT INTO soggetto (cognrag, nome) VALUES ('" & _ 
    Replace(Request.Form("cognrag"), "'", "\ '") & "', '" & _ 
    Replace(Request.Form("nome"), "'", "\ '") & "')" 
    conn.Execute(sql)
    con mysql anche così senza lo spazio tra \ e '
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

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.