Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Caricare file .txt in db mysql

    Buongiorno a tutti,
    Ho un file .txt convertito da file.xls di circa 6000 righe.
    Ho l'assoluto bisogno di caricarlo tramite script php.
    Se ci fosse il metodo per caricare il file anche in .xls o/ CSV ancora meglio.
    Sono giorni ormai che ci perdo la testa,mi date una mano??

    Ecco lo script:

    Codice PHP:
    <?php

    require ('config.php');




    $sql "LOAD DATA LOCAL INFILE 'http://miosito.altervista.org/importacsv/dati.txt'
           INTO TABLE completo
           FIELDS TERMINATED BY ','
           OPTIONALLY ENCLOSED BY '\"' 
           LINES TERMINATED BY '\n' 
           IGNORE 1 LINES;"
    ;


    // Check connection
    if (mysqli_connect_errno()) {
      echo 
    "Failed to connect to MySQL: " mysqli_connect_error();
    };

    $result mysqli_query($sql$con);

    if (
    mysql_affected_rows() == 1) {
      
    $message "The data was successfully added!";
    } else {
      
    $message "The user update failed: ";
      
    $message .= mysqli_error(); 
    };

    echo 
    $message;

    mysqli_close($con);
    ?>
    L'obbiettivo e' quello di aggiornare la tabella del mio database cancellando i dati antecedenti l'UPLOAD.....ma mi restituisce sempre l'errore:"The user update failed"

    Grazie in anticipo a tutti.
    Ultima modifica di giancadeejay; 30-11-2016 a 16:18
    Il mio sito
    www.giancadj.altervista.org

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Usi instruzioni mysqli e mysql (mysql_affected_rows).
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Poi mysqli_affected_rows torna un int. Quindi cosi com'è avrai il messaggio di buon esito solo se inserisci una riga.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    ho Cambiato lo script....
    Cosi funziona ma mi inserisce in db solo 1 riga da 52 record.
    Io devo inserire,ad ogni aggiornamento. circa 6000 righe..come posso risolvere??

    <?php
    // richiamo il file di configurazione
    require 'config.php';

    // richiamo lo script responsabile della connessione a MySQL
    require 'connect.php';

    // preparo la query
    $query = "INSERT INTO completo (DATO1 ,DATO2 ,DATO3 ,DATO4, DATO5 ,DATO6 ,DATO7, DATO8, DATO9, DATO10, DATO11 ,DATO12 ,DATO13, DATO14, DATO15, DATO16 ,DATO17 ,DATO18, DATO19 ,DATO20, DATO21, DATO22, DATO23, DATO24, DATO25, DATO26, DATO27, DATO28, DATO29, DATO30, DATO31 ,DATO32, DATO33 ,DATO34 ,DATO35 ,DATO36, DATO37, DATO38, DATO39, DATO40, DATO41, DATO42, DATO43, DATO44, DATO45, DATO46, DATO47, DATO48 ,DATO49, DATO50, DATO51, DATO52)

    VALUES ('DATO1 ,DATO2 ,DATO3 ,DATO4, DATO5 ,DATO6 ,DATO7, DATO8, DATO9, DATO10, DATO11 ,DATO12 ,DATO13, DATO14, DATO15, DATO16 ,DATO17 ,DATO18, DATO19 ,DATO20, DATO21, DATO22, DATO23, DATO24, DATO25, DATO26, DATO27, DATO28, DATO29, DATO30, DATO31 ,DATO32, DATO33 ,DATO34 ,DATO35 ,DATO36, DATO37, DATO38, DATO39, DATO40, DATO41, DATO42, DATO43, DATO44, DATO45, DATO46, DATO47, DATO48 ,DATO49, DATO50, DATO51, DATO52
    )";

    // lancio la query
    $result = mysql_query($query);

    // controllo l'esito
    if (!$result) {
    die("Errore nella query $query: " . mysql_error());
    }

    // chiudo la connessione a MySQL
    mysql_close();

    echo 'Query eseguita correttamente';
    ?>
    ??

    Grazie a tutti in anticipo
    Il mio sito
    www.giancadj.altervista.org

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    1 - Non hai messo VALUES sulla prima riga da inserire.
    2 - Vuoi inserire gli stessi dati. Se hai una chiave univoca questo puo' spiegare il tuo problema.
    3 - Sulla seconda riga hai un apice prima di DATO01.
    4 - Con l'esempio che dai che cos'hai nella tabella ? Non capisco come possa funzionare visto che DATOxx non è un dato (stringa -> 'DATO01' o variabile -> $DATO01)
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Quote Originariamente inviata da badaze Visualizza il messaggio
    1 - Non hai messo VALUES sulla prima riga da inserire.
    2 - Vuoi inserire gli stessi dati. Se hai una chiave univoca questo puo' spiegare il tuo problema.
    3 - Sulla seconda riga hai un apice prima di DATO01.
    4 - Con l'esempio che dai che cos'hai nella tabella ? Non capisco come possa funzionare visto che DATOxx non è un dato (stringa -> 'DATO01' o variabile -> $DATO01)
    VALUES C'è...
    nel values ho fatto solo un copia incolla fittizio per rendere l'idea, ed in esso sono compresi apici e virgole,
    Il problema è che così mi aggiorna solo 1 riga del db...
    io devo importare circa 6000 righe ad ogni aggiornamento
    Il mio sito
    www.giancadj.altervista.org

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    213
    Come ti ho scritto qui hai provato ad inserire tutti gli apici?

Tag per questa discussione

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.