Visualizzazione risultati 1 fino 6 di 6

Discussione: Interrogazione database con apostrofo

  1. #1
    Guest

    Predefinito Interrogazione database con apostrofo

    Salve come posso fare un interrogazione al database passandoci come condizione una stringa con apostrofo?

    Ad esempio se volgio fare ricerche in Valle d'Aosta
    WHERE Regione='Valle d'Aosta'

    mi da questo errore:
    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 'Aosta' ORDER BY city_province_name ASC' at line 1

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Non dovresti mai inserire dei dati in una query senza prima passarli per mysql_real_escape_string, o equivalenti.

    Questo risolverebbe il problema degli apostrofi, così come quello più insidioso del'SQL injection.

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Non dovresti mai inserire dei dati in una query senza prima passarli per mysql_real_escape_string, o equivalenti.

    Questo risolverebbe il problema degli apostrofi, così come quello più insidioso del'SQL injection.
    ma se inserisco mysql_real_escape_string mi mette uno slash davanti e la ricerca non va mai a buon fine. già provato.

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,269

    Predefinito

    Lo slash davanti serve solo per poter inserire l'apice nella stringa, e poi viene ignorato da mysql e il tuo apice torna ad essere un apice pulito.

    Se la ricerca non funziona, il problema è altrove.

  5. #5
    topdeskle non è connesso Utente giovane
    Data registrazione
    12-03-2012
    Messaggi
    42

    Predefinito

    Ciao, prova in questo modo:

    WHERE Regione="Valle d'Aosta"


    Saluti.

  6. #6
    L'avatar di alemoppo
    alemoppo è connesso ora Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,212

    Predefinito

    No: devi fare
    WHERE Regione='Valle d\'Aosta'
    Poi, il problema della ricerca si risolve con il fatto che anche la stringa della ricerca devi effettuare l'escape!

    ...altrimenti possono farti le sql injection.

    Ciao!

Regole di scrittura

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