Partage
  • Partager sur Facebook
  • Partager sur Twitter

Error 500 Sur Mysqli_Query?

Sujet résolu
    20 janvier 2017 à 8:51:53

    Bonjour,

    Cela fait quelques mois que je code en PHP mais voila, je suis face à une anomalie très étrange !

    J'utilise un code permettant de générer une requête, je récupère le nom des champs de la requête,mais le Mysqli_Query me génère une "HTTP ERROR 500"

    Je met donc cette instruction en commentaire, et plus de soucis...Mais j'en ai besoin de cette requête, tel est le problème..

    $sql="SELECT * FROM CdcPersonnel";
    
    $result=mysqli_query($base,$sql); // (Cette instruction ne fonctionne pas, mise en commentaire)
    
      while ($fieldinfo=mysqli_fetch_field($result))
        {
    $colone=$fieldinfo->name;
    
    

    Pour la variable $base elle detient toutes les informations de connexions, elle est fiable et fonctionne sur mes autres pages..

    Merci d'avance 

    -
    Edité par Stevy59 20 janvier 2017 à 8:53:11

    • Partager sur Facebook
    • Partager sur Twitter
      20 janvier 2017 à 10:15:23

      Salut je connais pas Mysqli mais tu utilise $fieldinfo comme si ta fonction retournait un objet, ce qui n'est pas le cas.. Essais un truc comme ça peut être 

         while ($fieldinfo = $result->fetch_object()) {
              printf $fieldinfo->name;
          }



      -
      Edité par valentinmoulinier 20 janvier 2017 à 10:32:24

      • Partager sur Facebook
      • Partager sur Twitter
        20 janvier 2017 à 10:31:13

        valentinmoulinier a écrit:

        Salut je connais pas Mysqli mais tu utilise $fieldinfo comme si ta fonction retournait un objet, ce qui n'est pas le cas.. Essais un truc comme ça peut être 

           while ($fieldinfo = $result->fetch_object()) {
                printf fieldinfo->name;
            }


        Nan ca marche pas :x 

        Suite à ce probléme j'ai pris une autre requête qui fonctionne, copier coller et ca marche, et maintenant le soucis c'est que la boucle While bah elle boucle pas..

        $rechercherInfo = "SELECT * FROM CdcPersonnel WHERE UC='$UC'";
        		$requeteInfo = mysqli_query($base,$rechercherInfo);
                        while ($fieldinfo=mysqli_fetch_field($requeteInfo)){

        Dans cette table je n'ai qu'une ligne mais 24 champs, on est d'accord qu'il doit boucler 24 fois donc? 

        Sur une autre page cela fonctionne, sur l'export en Excel (Nouvelles page php donc) cela ne fonctionne pas..

        Voici le code concérné:

        $rechercherInfo = "SELECT * FROM CdcPersonnel WHERE UC='$UC'";
        		$requeteInfo = mysqli_query($base,$rechercherInfo);
                        while ($fieldinfo=mysqli_fetch_field($requeteInfo)){
        
                        $colone=str_replace("_"," ",$fieldinfo->name);
        		$i=4;
        
        			$sheet->getStyle('A'.$i.':F'.$i)->getBorders()->applyFromArray(
        				array(
        					'allborders' => array(
        						'style' => PHPExcel_Style_Border::BORDER_MEDIUM,
        						'color' => array(
        							'rgb' => '000000'
        						)
        					)
        				)
        			);
        			
        			$style = $sheet->getStyle('A'.$i.':F'.$i);
        			$styleFont = $style->getFont();
        			$styleFont->setBold(false);
        			$styleFont->setSize(12);
        			$styleFont->setName('Arial');
        			
        			$sheet->setCellValue('A'.$i,$colone);
        			
        			$stylesalign = $sheet->getStyle('A'.$i.':F'.$i);
        			$stylesalign->applyfromarray(array('alignment'=>array('horizontal'=>PHPExcel_Style_Alignment::HORIZONTAL_CENTER)));
        			
        			$sheet->getStyle('A'.$i.':F'.$i)->getAlignment()->setWrapText(true);
        			
                                $i=$i+1;


        La valeur de I commence à 4, mais fini à 5 et donc cela ne boucle pas..

        J'ai jamais eu autant de soucis depuis que je me suis intéréssé à l'export Excel :/

        Edité par valentinmoulinier il y a 7 minutes



        -
        Edité par Stevy59 20 janvier 2017 à 10:33:55

        • Partager sur Facebook
        • Partager sur Twitter
          20 janvier 2017 à 10:37:35

          En effet, j'ai mal regardé la doc et il apparaît que la façon que tu utilise mysqli_field_fetch est bonne..

          Je suis désolé je ne peux pas vraiment t'aider, mon domaine c'est plutôt PDO et Symfony..

          Ton problème résulte de la gestion d'erreur, à toi de te débrouiller pour savoir comment trouver d'ou vient l'erreur, et comment la résoudre. 

          PHP te donne quelques outils pour ce faire, comme le dump, le die ou la doc mysqli..

          -
          Edité par valentinmoulinier 20 janvier 2017 à 10:37:57

          • Partager sur Facebook
          • Partager sur Twitter
            20 janvier 2017 à 10:39:28

            Très bien merci comme même..

            Je vais regarder ça, c'est vraiment étrange, La boucle fonctionne mais à mointié car il va jusqu'au dernier champs mais le i++ fonctionne pas,étrange quoi..

            C'est un truc de dingue je ne trouve absolument pas l'erreur de cette boucle WHILE..

            -
            Edité par Stevy59 20 janvier 2017 à 11:21:00

            • Partager sur Facebook
            • Partager sur Twitter
              20 janvier 2017 à 11:29:06

              Si ta requête plante c'est qu'elle doit être erronée et dans ce cas un mysqli_error, ou mieux, mysqli_report doivent te permettre de 1) le voir ; 2) savoir en quoi.

              Fouilles également tes logs avant tout, si le script plante, tu dois trouver des infos dans ceux-ci.

              • Partager sur Facebook
              • Partager sur Twitter
                20 janvier 2017 à 11:32:41

                C'est vraiment un truc de dingue quoi..

                Pas moyen de trouvé l'erreur pour cette boucle While...

                			$sheet->setCellValue('E4',mysqli_error($base);


                Absolument rien..

                Ca rends vraiment fou, ca fonctionne partout sauf là !

                LOOOOOOOOOOOOL ! Edit ! Erreur de débutant, le $i=4 dans la boucle -_-'

                Merci pour votre aide !

                -
                Edité par Stevy59 20 janvier 2017 à 11:59:48

                • Partager sur Facebook
                • Partager sur Twitter

                Error 500 Sur Mysqli_Query?

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown