Besoin d'aide

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Besoin d'aide

Re: Besoin d'aide

par sirakawa » 02 juin 2014, 08:36

Il serait itéressant de voir la valeur de $sql
public function query($sql)
   {
      try
      {
         $reponse = $this->bdd->query($sql);  [color=#FF0000]//LIGNE 24[/color]
         $retour = null;
         
         $i = 0;
         
         if(!empty($reponse))
         {
         
            while($row = $reponse->fetch(PDO::FETCH_ASSOC))
            {
               foreach($row AS $k => $v)
               {
                  $retour[$i][$k] = $v;
               }
               
               $i++;
            }
         }
        
         
         return $retour;
      }
      catch(Exception $e)
      {
      return null;
      }
   }

Re: Besoin d'aide

par MmeRose » 01 juin 2014, 21:23

J'ai eu un problème similaire lors d'une pagination, tout simplement parce que mes requêtes comportaient une ou plusieurs erreurs. Tu devrais poster ton code pour trouver d'où vient l'erreur ou chercher sur le web.
Slts

Re: Besoin d'aide

par chapt0011 » 20 mai 2014, 10:57

Cette erreur signifie que le temps d'exécution maximum est dépassé autrement dit le code php demande l’exécution une requête SQL très importante ou alors boucle infinie et sa plombe ton serveur...
Donc soit tu augmente le temps max d’exécution qui par défaut est a 300 (et non a 30?) où alors tu reprend ta requête pour sélectionner moins de ligne/moins d'informations par ligne.
Par contre le code que tu nous a mis ne nous sert a rien, il s'agit d'une classe permettant de se connecter à une base et d'y exécuter des requêtes..
Il faut donc que tu commence par identifier la requête qui fait tout planter ;)

Re: Besoin d'aide

par telnes » 20 mai 2014, 10:46

hello

le code met plus de 30 sec et est stopé par le server (paramètre par défaut)

ajoute

set_time_limit(0); //http://www.php.net/manual/fr/function.s ... -limit.php

en début de code

ou change la valeur dans le php.ini


mais a mon avis récupérer une commande en plus de 30 sec il y a un problème de perf ....

++

Re: Besoin d'aide

par xTG » 20 mai 2014, 10:45

Tu demandes une requête qui est beaucoup trop grosse pour être traitée en 30secondes.
Augmente le temps max d'exécution de PHP (dans le php.ini) ou bien optimise ta requête ou ton traitement. :)

Besoin d'aide

par Doudou52 » 20 mai 2014, 08:30

Bonjour à tous.

Je suis actuellement en stage IRIS 1er année, et je dois reprendre un logiciel de bon de commande d'un autre élève sans aucun commentaire, afin de le terminer. Problème, c'est que je suis actuellement bloqué.

Quand je clique sur Commande en cours, j'ai le droit à se message :
Image

Voici le morceau de code concerné :

Code : Tout sélectionner

<?php class communication { public $bdd; public function connexion() { try{ $this->bdd = new PDO("mysql:host=localhost;dbname=commande","root",""); $this->bdd->query("SET NAMES UTF8"); } catch(Exception $e) { die ($e->getMessage()); } } public function query($sql) { try { $reponse = $this->bdd->query($sql); [color=#FF0000]//LIGNE 24[/color] $retour = null; $i = 0; if(!empty($reponse)) { while($row = $reponse->fetch(PDO::FETCH_ASSOC)) { foreach($row AS $k => $v) { $retour[$i][$k] = $v; } $i++; } } return $retour; } catch(Exception $e) { return null; } } public function exec($sql) { $this->bdd->exec($sql); } } ?>
Et je bloque complétement.
Merci au personne qui pourront m'aider.