IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Import d'un fichier dans une table MySql


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 73
    Points : 42
    Points
    42
    Par défaut Import d'un fichier dans une table MySql
    J'essaye d'importer un fichier dans une table MySql

    Le fichier contient environ 40 000 lignes mais j'arrive au grand max à importer 3000 lignes, cela varie, ce n'est pas toujours la même ligne qui ne passe pas.

    J'ai essayé avec:

    $file= file('fichieraimporter.txt')
    puis un foreach($file as $value) puis génération/exécution de ma requête

    et j'ai essayé avec:

    $handle= fopen('C:\fichieraimporter.txt',"r");
    while (!feof($handle))
    {
    $buffer=fgets($handle);
    génération/exécution de ma requête
    }

    La requête fait simplement un "INSERT INTO..."


    C'est quoi le souci j'ai un problème d'utilisation mémoire?

  2. #2
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Tu devrais essayer d'utiliser la commande LOAD DATA INFILE, qui est plus rapide et plus fiable. http://dev.mysql.com/doc/refman/5.0/fr/load-data.html

  3. #3
    Membre confirmé Avatar de LeGilou
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 488
    Points : 531
    Points
    531
    Par défaut
    Bonjour,

    C'est exact, la commande LOAD DATA INFILE est faite pour ca et fonctionne très bien

    De plus, en modifiant ces valeurs dans le PHP.ini, tu devrais résoudre ton soucis de mémoire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ;;;;;;;;;;;;;;;;;;;
    ; Resource Limits ;
    ;;;;;;;;;;;;;;;;;;;
     
    max_execution_time = 30     ; Maximum execution time of each script, in seconds
    max_input_time = 60	; Maximum amount of time each script may spend parsing request data
    memory_limit = 16M      ; Maximum amount of memory a script may consume (16MB)
    Gillou

Discussions similaires

  1. probleme de taille d'import de fichier dans une bdd mysql
    Par laetiheu dans le forum Installation
    Réponses: 17
    Dernier message: 29/08/2007, 13h07
  2. importé un fichier dans une table
    Par joe370 dans le forum Modélisation
    Réponses: 3
    Dernier message: 05/06/2007, 16h07
  3. Importer un fichier CSV dans une table mySQL
    Par crazydiver_e2 dans le forum Requêtes
    Réponses: 4
    Dernier message: 16/01/2007, 11h47
  4. Importer un txt (csv) dans une table mysql sur multimania
    Par minogttao dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/11/2006, 19h33
  5. Comment importer un document CSV dans une table MySql ?
    Par magic8392 dans le forum Requêtes
    Réponses: 6
    Dernier message: 04/02/2005, 12h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo