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

    lista da file a database

    Salve a tutti.

    Ho un file .txt molto lungo con dati messi in questo modo (sono le liste elettorali):
    0001;Pinco;Pallino;M;Roma;01/01/1970;via Disney;
    0002;Topolino; Topo;M;Milano;02/02/1972; via Gargaroz;
    ecc ecc..
    Vorrei trasferirli in un database Mysql.

    Ho creato il database:
    CREATE TABLE `elezioni2009` (
    `Id` int(5) NOT NULL auto_increment,
    `Sezione` int(5) NOT NULL,
    `Num` int(7) NOT NULL,
    `Sesso` char(1) NOT NULL,
    `Cognome` varchar(20) NOT NULL,
    `Nome` varchar(20) NOT NULL,
    `In` varchar(20) NOT NULL,
    `Nato` varchar(20) NOT NULL,
    `Il` varchar(10) NOT NULL,
    `Cap` varchar(10) NOT NULL,
    `Residente` varchar(25) NOT NULL,
    `Via` varchar(40) NOT NULL,
    `Vota` varchar(20) default NULL,
    PRIMARY KEY (`Id`)
    ) ;
    Ho creato un file per l'accesso al database (database.php):
    Codice PHP:
    <?php
    $host 
    '127.0.0.1';
    $userdb 'root';
    $passdb '';
    $nomedb 'nome_db';
    ?>

    E poi il file che dovrebbe caricare i dati nel db:
    Codice PHP:
    <?php
    include ('database.php');


    mysql_connect($host,$userdb,$passdb) or die ("Non riesco a connettermi al database");
    mysql_select_db($nomedb) or die ("Non posso aprire il database");


    if(!
    $lista fopen("file.txt","r"))
    {
    echo 
    "Errore apertura file";
    exit;

        while (!
    feof($lista)) {
        
    $buffer fgets($lista);
        list(
    $sezione$num$sesso$cognome$nome$coniugata$nato$il$cap$residente$via$item1$item2$item3) = explode(";"$buffer);
       
       
    $result mysql_query("INSERT INTO elezioni2009 VALUES('','$sezione', '$num', '$sesso', '$cognome','$nome','$coniugata','$nato','$il','$cap','$residente','$via','');") or die("Could not perform select query - " mysql_error());
                    }
        
    fclose($lista);

    mysql_close();
    ?>

    Quando provo ad eseguire il file attraverso il Browser, pare funzioni tutto. Invece carica solo i primi 6 elementi.

    Se provo a sostituire la parte della query al db, con un echo dei dati, riesco ad avere tutti i dati. Quindi il problema sembra non essere nello scorrimento del file, ma nell'inserimento dei dati nel Db.

    Dove sbaglio?

  2. #2
    potresti avere degli apostrofi in qualche stringa che ti bloccano l'inserimento.

    Ma dovresti ricevere la segnalazione di errore. Prova a sostituire mysql_query con un echo o print simulando l'inserimento e vedi come sono risolte le variabili come gia' fai, prestando attenzione ad eventuali caratteri di controllo senza escape

    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 © 2024 vBulletin Solutions, Inc. All rights reserved.