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

PHP & Base de données Discussion :

Requête qui s’arrête au bout de 5 minutes


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Par défaut Requête qui s’arrête au bout de 5 minutes
    Bonjour à toutes et à tous,

    Petit problème que je rencontre actuellement :
    J'ai développer une solution de gestion d'espace numérique (avec gestions d'usagers et d'ateliers entre autre) et j'ai rajouté un module me permettant d'importer une base de données usagers exporté en .CSV .

    Ce fichier tourne au environ des 3 Mo (avec environ 7300 entrées) mais il peut-être encore plus lourd.
    Pendant l'importation (après l'upload vers le serveur), il y a un traitement en PHP (car certaines variable ne sont pas utile), puis viens ensuite l'envoie à la base de données MySQL.

    Pour l'envoie vers la BDD, j'utilise des fonctions et cette fonction procède en quatre étapes :
    *connexion à la bdd.
    * requête SQL.
    * Déconnexion bdd.
    * test booléen de la requête.

    Cette fonction est donc appelé plusieurs fois (environ 7300 pour moi).

    Développement du problème :
    * Début de l'importation, tout ce passe bien.
    * Passer la barre des 3000 enregistrements environ, 1 entrées sur 4 ou 5 est enregistrées dans la base de données (environ 4 minutes se sont écoulé).
    * Passer les 3400 enregistrements, plus aucune entrées du fichier csv n'est enregistré dans la BDD (environ 5 minutes se sont écoulé).

    J'ai donc testé en mettant un sleep() d'une seconde avant chaque requête SQL et là, seul 295 entrées sont enregistrées avant que plus aucune entrées ne le soit (environ 5 minutes également).

    Au début j'ai pensé à un blocage du script PHP mais j'ai demandé à m'afficher les entrées non enregistrées et elles sont bien affiché une à une.

    Le serveur WEB WAMPSERVER tourne sur un poste sous XP Pro, donc c'est la version 2.4 et non 2.5 qui n'est pas compatible.
    La version MySQL est 5.6.12
    La version PHP est 5.4.12
    La version APACHE est 2.4.4
    SqlBuddy : 1.3.3
    XDebug : 2.2.3

    J'ai également tester sur un serveur WAMPSERVER 2.5 sous Windows 8.1 et là, miracle tout fonctionne, mes 7300 entrées sont enregistrées dans la BDD en 7 minutes environ.

    Je n'ai pas toucher aux configurations d'origine des serveur WEB ni sur un poste, ni sur l'autre.

    Je vous remercie d'avance,

    Cordialement,

    Brice

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Quel retour obtiens-tu de la requête quand il n'y a pas d'enregistrement ?
    Tu as consulté les erreurs/logs mysql ?

    Pourquoi tu ouvres et fermes la connexion à chaque requête ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Par défaut
    Bonjour sabotage,

    J'ai pas encore testé se qui me reviens, ni regarder le log mysql présent sur le serveur.

    Pour le faite que je me connecte et déconnecte de la bdd a chaque requête, c'est simplement parce que le rajout d'utilisateur dans la base de données ce fait par une fonction et plutôt que de m’embêter à faire un connexion permanente, j'ai utilisé cette fonction (pas bien).

    Je te tiens au courant dès que j'ai le temps de tester (car je dois mettre en place mon projet la semaine prochaine).

    Par contre, j'ai trouvé une petite parade à mon problème :

    J'ai utilisé l'importation sur ma bdd de mon pc sous windows 8.1 (avec Mysql 5.6.17).
    J'ai ensuite fait un export de ma table.
    Enfin, j'ai importer ma table dans ma bdd de mon poste sous XP (avec Mysql 5.6.12) et ça à fonctionné.

    Cordialement,

    Brice

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/10/2005, 15h05
  2. Une requête qui ne reconnait pas is not null
    Par LeBauw dans le forum Access
    Réponses: 2
    Dernier message: 08/09/2005, 12h29
  3. Requête qui ne passe pas
    Par TheBart dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/08/2005, 10h12
  4. [...] doit utiliser une requête qui peut être mise à jour
    Par requiemforadream dans le forum ASP
    Réponses: 4
    Dernier message: 26/04/2005, 09h12
  5. Problème requête qui renvoie plusieurs
    Par dai.kaioh dans le forum Langage SQL
    Réponses: 6
    Dernier message: 01/04/2004, 10h07

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