tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
299
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von max
    max max ist offline Mitglied Gold
    Registriert seit
    Nov 2001
    Ort
    Salzburg
    Beiträge
    201
    Ich habe ein sehr große CSV Datei (ca. 1,5 Mio Zeilen), diese will ich in eine Tabelle meiner MySQL Datenbank eintragen.

    Script zum eintragen:
    PHP-Code:
      <?
      ini_set
    ('memory_limit''100M');
      
      
    $link mysql_connect("localhost""user""pass") or die("Could not connect: ".mysql_error());
      
      
    $db mysql_select_db("usr_site89_5") or die(mysql_error());
      
    $row 1;
      
    $handle fopen ("country.csv","r");
      
      
          while (
    $data fgetcsv ($handle1000",")) {
      
          
    //ID der Region holen
          
    $RegionSQL "SELECT id FROM location_regionen WHERE region='".mysql_escape_string($data[4])."'";
          
    $RegionQuery mysql_query($RegionSQL);
          
    $Region mysql_fetch_array($RegionQuery);
          
          
    //ID des Staates holen
          
    $StaatSQL "SELECT id FROM location_staaten WHERE country_code='".mysql_escape_string($data[2])."'";
          
    $StaatQuery mysql_query($StaatSQL);
          
    $Staat mysql_fetch_array($StaatQuery);
          
          
    // IP Bereich Eintragen
          
    $ipSQL "INSERT INTO `location_ip_range` ( `r_id` , `s_id` , `ip_start` , `ip_ende` )
                      VALUES (
                  '"
    .$Region['id']."', '".$Staat['id']."', '".$data[0]."', '".$data[1]."'
                      );"
    ;
              
    $ipQuery mysql_query($ipSQL);
      
      }
      
    fclose ($handle);
      
    ?>
    Die CSV ist so aufgebaut
    Code :
    1
    2
    3
    4
    
        IP_From, IP_To, Country Code, Country Name, Region, City
          "201653760","201654015","US","UNITED STATES","VIRGINIA","GORDONSVILLE"
          "201654016","201654143","US","UNITED STATES","VIRGINIA","LYNCHBURG"
          "201654144","201654159","US","UNITED STATES","VIRGINIA","RICHMOND"

    Das problem ist er trägt mir einfach nicht alle IP Bereiche in die Datenbank ein.
    zZ. sind es max. 730.000 von 1,5 Mio.

    An was kann das liegen?
     

  2. #2
    Registriert seit
    May 2002
    Ort
    50.59° Nord 11.21° Ost
    Beiträge
    1.837
    Datenbank voll? Max Execution Time überschritten?
     
    »

  3. #3
    Avatar von max
    max max ist offline Mitglied Gold
    Registriert seit
    Nov 2001
    Ort
    Salzburg
    Beiträge
    201
    Wie merke ich das die Datenbank voll ist?
    Ich bekomme keine Fehlermeldungen.

    Die Max Execution Time wird meiner Meinung nach nicht überschritten.

    Ich glaube nicht dass die Datenbank voll ist da ich vorher die ganze CSV in eine Tabelle geladen habe und das waren ca. 100MB.

    Diese Tabelle habe ich dann aber wieder gelöscht da die Performance mieserabel war.
     

Ähnliche Themen

  1. Dateneintrag wird nicht geschrieben
    Von lll192837465lll im Forum PHP
    Antworten: 6
    Letzter Beitrag: 12.02.09, 13:34
  2. onClick wird nicht richtig neu geschrieben.... :(
    Von sPEs im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 02.06.06, 17:49
  3. Cookie wird nicht geschrieben
    Von xollo im Forum PHP
    Antworten: 9
    Letzter Beitrag: 16.12.05, 10:14
  4. ksysguard: Logdatei wird nicht geschrieben
    Von vop im Forum Linux & Unix
    Antworten: 0
    Letzter Beitrag: 26.05.05, 08:55
  5. Session Variable wird nicht neu geschrieben?!
    Von TaxiDriver im Forum PHP
    Antworten: 11
    Letzter Beitrag: 11.09.03, 23:27