Visualizzazione dei risultati da 1 a 9 su 9

Discussione: LOAD DATA INFILE

  1. #1

    LOAD DATA INFILE

    Ciao a tutti.
    Utilizzo il corstrutto di mysql "LOAD DATA INFILE " per importare un file con estensione CSV.

    L'import funziona correttamente e tutti i record vengono importati.

    Il problema è che con questo tipo di import non posso utilizzare la funzione php per la normalizzazione dei dati con caratteri speciali

    (es.: ').

    Normalmente prima dell'import avrei utilizzato "addslashes "

    Questo mi causa un errore nella query quando con la select cerco di estrapolare i dati.

    Qualcuno mi sa dare un'aiuto.
    Esiste un modo per normalizzare i dati?

    grazie mille

  2. #2


    Nessumo mi può aiutare?

  3. #3
    Non si capisce se il problema lo hai all'inserimento o all'estrazione dei dati....

    SELECT estrae .... :master:

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Il problema e' all'estrazione.

    Posto il codice:

    $query="LOAD DATA INFILE '".$file."' REPLACE INTO TABLE `ooz_task_prova` FIELDS TERMINATED BY ';' LINES TERMINATED BY '\n' IGNORE 1 LINES";

    Con questo eseguo l'import e se nei campi è presente un elemento come questo: M'. TELECOMUNICATIONS, non mi da nessun problema.

    Al contrario quando estraggo i dati:

    $sql = "select id,status,STATO_CONTRATTO,DATA_INSERIMENTO_WO,DATA _ATTIVAZIONE,supporter_id ,AGEING from ooz_task_prova";

    trovando il campo con "'" mi blocca la query

    Spero si più chiaro.

  5. #5
    Suona male che ti blocchi la query...

    Se ti blocca la query ti dara' un errore, oppure si interrompe il campo? Forse intendi dire che ti interrompe l'output del campo......

    Prova ad usare i doppi apici nell'indice dell'array dove si trova la tupla estratta.... ma sinceramente non hai spiegato bene il problema.

    Bloccare la query significa nessun output da mysql ed anche una segnalazione di errore....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    ecco cosa mi scrive:

    Invalid query: Errore di sintassi nella query SQL vicino a '. TELECOMUNICATION'' linea 1

    Questo è il campo dove è presente il valore:M'.TELECOMUNICATION,

    quindi per esclusione ipotizzo che sia il singolo apice a dargli fastidio....

    ecco la query che lancio

    $sql = "select id,status,STATO_CONTRATTO,DATA_INSERIMENTO_WO,DATA _ATTIVAZIONE,supporter_id ,AGEING from $tickets_table";

  7. #7
    La cosa e' ben diversa.... l'unico punto che ti puo' dare errore di sintassi e' la risoluzione della variabile $tickets_table.

    Spero proprio tu non abbia dato un nome ad una tabella che contiene un'apice ed un punto.

    Prova a stampare la query string.

    echo $sql e vedi cosa ti traduce.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Penso che sia proprio nell'apice anche perchè se lo tolgo l'output noon si blocca, in ogni caso se stampo la query ottengo


    select id,status,STATO_CONTRATTO,DATA_INSERIMENTO_WO,DATA _ATTIVAZIONE,supporter_id ,AGEING from ooz_task_prova

  9. #9
    codice:
    select id, status, STATO_CONTRATTO,
    DATA_INSERIMENTO_WO, DATA_ATTIVAZIONE,
    supporter_id, AGEING
    from ooz_task_prova
    non c'e' nessuna relazione con:
    codice:
    Invalid query: Errore di sintassi nella query SQL 
    vicino a '. TELECOMUNICATION'' linea 1
    Aggiungi, se gia' non c'e', mysql_error() dopo la query...
    L'errore di sintassi lo hai nel momento del controllo sintattico, quindi "prima" di sapere cosa contiene il campo.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.