Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030

    form, apici e scrittura su un db access

    mi ero intromesso in un altro thread ma forse è meglio aprirne uno ad hoc

    dunque, io ho creato un form che va a scrivere su un db access (si si lo so, ma mi hanno imposto questo).
    praticamente ho 10.000 campi da compilare, ma quando l'utente in uno di questi inserisce il carattere apostrofo (l'apice ') si pianta l'insert (non so se il problema si verifica anche con altri caratteri).


    visto che in php sono abbastanza una frana, sapete dirmi come posso fare?
    eventualmente se avete qualche altra "indicazione" da consigliarmi per evitare "problemi" è ovviamente ben accetta.

    grazie mille (:



    ps. scusatemi se il problema è trito e ritrito ma non va la ricerca (con cui immagino potrei risolvere in 5 minuti)
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  2. #2
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    up
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  3. #3
    Uè Kiko!
    Devi "quotare" gli apici. Il carattere di quote però dipende dal db: ad esempio in SQL Server basta raddoppiarlo se non ricordo male.
    Prova così, oppure con uno \ davanti (quindi sostituisci tutti gli apici con \apice.

    Claro?

  4. #4
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    Originariamente inviato da dokk
    Claro?
    nu

    scusami dokk ma sono davvero una frana.

    ipotiziamo che io abbia un
    <input type=text size=20 name="nome">
    inviato _post ad una pagina che lo raccoglie come
    $nome =$_POST['nome'];
    e che poi lo sbatta in un db access:
    codice:
    $recs=$dbc->execute ("INSERT INTO 
    Pippo (blablabla, nome, blablabla) VALUES ('$blablabla', '$nome', '$blablabla')");
    come posso fare questa modifica che mi suggerisci?



    grazie
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  5. #5
    $nome = str_replace(" ' ", " '' ", $_POST['nome']);

    Semprechè, ripeto, in Access valga la regola del doppio apice; altrimenti prova con lo \

    $nome = str_replace(" ' ", " \\' ", $_POST['nome']);

  6. #6
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    provo subito e ti faccio savèr
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  7. #7
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    in entrambi i casi mi risponde così:
    Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft OLE DB Provider for ODBC Drivers
    Description: [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query etcetcetc...
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  8. #8
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    :colpettoditosse:
    è nella nostra unicità che risiede la meraviglia degli esseri umani

  9. #9
    Fatti stampare a video la query eseguita e postala...

  10. #10
    Utente di HTML.it L'avatar di darkiko
    Registrato dal
    Feb 2002
    Messaggi
    3,030
    Originariamente inviato da dokk
    Fatti stampare a video la query eseguita e postala...
    provando a riempire solo il campo "nome" con pippo'pippo:
    pippo\'pippo
    è nella nostra unicità che risiede la meraviglia degli esseri umani

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.