Visualizzazione risultati 1 fino 8 di 8

Discussione: Apostrofo in mysql

  1. #1
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito Apostrofo in mysql

    Come faccio ad inserire gli apostrofi nel MYSQL ???
    Se scrivo così mi dà errore

    Codice PHP:
    SELECT comune FROM localita WHERE (regione='Valle D'Aosta')AND(provincia='Aosta') GROUP BY comune ORDER BY comune ASC"
    Ma mi dà errore anche se scrivo così

    Codice PHP:
    SELECT comune FROM localita WHERE (regione='Valle D\'Aosta')AND(provincia='Aosta') GROUP BY comune ORDER BY comune ASC"
    Come si può risolvere???
    Chi troppo vuole....vuole LionAlex...

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Prova a specificare le stringhe tramite i doppi apici, cosi':
    Codice PHP:
    SELECT comune FROM localita WHERE (regione="Valle D'Aosta")AND(provincia="Aosta") GROUP BY comune ORDER BY comune ASC
    se poi quella riga (come immagino) dovesse finire in una stringa PHP (identificata da apici ')non dovresti avere problemi a "criptare" l'apostrofo con \' (backslash-apice).

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Non sono sicuro ma penso di aver "dedotto" qual è il problema:
    Il particolare che hai dimenticato di indicare è che oltre MySQL in sé stai cercando di specificare una query in PHP. Giusto?

    Quindi -se è così- hai un "DOPPIO strato di stringhe" da superare il primo PHP e poi MySQL, quindi senza tante chiacchiere devi indicarla così:

    Codice PHP:
    $query = "SELECT comune FROM localita WHERE (regione='Valle D\\'Aosta') AND (provincia='Aosta') GROUP BY comune ORDER BY comune ASC";
    Nota bene il DOPPIO backslash \\
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  4. #4
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    il mio problema era appunto quello descritto da HERACLEUM. Purtroppo però mi sono impellagato in altri problemi. Litigo io e gli apici. Esiste una soluzione più rapida??? Dato che io in realta gestisco delle variabili con gli apici e quindi dovrei modificare quella variabile in modo che non ci siano caratteri strani per l'inserimento nel MYSQL
    Chi troppo vuole....vuole LionAlex...

  5. #5
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    ah certo, infatti immaginavo che avresti usato variabili...
    con le variabili fai:
    Codice PHP:
    $query = "SELECT comune FROM localita WHERE (regione='". addslashes($variabile) ."') AND (provincia='Aosta') GROUP BY comune ORDER BY comune ASC";
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  6. #6
    Guest

    Predefinito

    Oppure usa mysql_escape_string($testo);


    Ciaooo!!!!!

  7. #7
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    vero! (ecco come si chiamava eheheheh)
    non mi ricordo in cosa differiscono le due funzioni, non penso tanto..
    MA ad ogni modo, sì, è meglio usare:
    mysql_escape_string($variabile)
    al posto di addslashes($variabile)
    come dice giustamente debug, anche perché è una funzione apposita per mysql e quindi è preferibile e vai sul sicuro!
    ciao
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  8. #8
    lionalex non è connesso Utente attivo
    Data registrazione
    10-12-2002
    Messaggi
    446

    Predefinito

    grazie mille...ora va tutto alla perfezione
    Chi troppo vuole....vuole LionAlex...

Regole di scrittura

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