Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme avec mysql_fetch_array...

    10 mai 2006 à 20:38:34

    Bonjour tous le monde, j'ai un petit probleme avec mysql_fetch_array, voila mon fichier essai.php :
    <?php
    include("global.php");
    include("configuration.php");
    $bdd->connect_sql($host,$pseudo,$pass);
    $bdd->select_db('xxxxxx');
    $bdd->requete_sql('SELECT * FROM vbuser');
    while ($ok = mysql_fetch_array($req))
    {
    echo ' Listes des membres :'.$ok['username'].'';
    }

    ?>


    Et voila mon global.php :
    class sql
    {
    function connect_sql($host,$pseudo,$pass)
    {
    $connect = mysql_connect("$host", "$pseudo", "$pass");
    }
    function requete_sql($sql)
    {
    $req = mysql_query($sql) or die(mysql_error());
    }
    function select_db($db)
    {
    mysql_select_db($db);
    }

    }

    $bdd = new sql();
    ?>


    Et quand j'affiche essai.php sa me dit : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/xxxxx/www/xxxx/essai.php on line 7
    D'ou viens le probleme ?
    • Partager sur Facebook
    • Partager sur Twitter
      10 mai 2006 à 20:49:23

      Ben j'ai mis or die(mysql_error());
      • Partager sur Facebook
      • Partager sur Twitter
        10 mai 2006 à 20:52:34

        Mais pas là : $connect = mysql_connect("$host", "$pseudo", "$pass");

        :p
        • Partager sur Facebook
        • Partager sur Twitter
          10 mai 2006 à 20:53:26

          Test ta requete dans phpmyadmin tu vera ton probleme :)
          • Partager sur Facebook
          • Partager sur Twitter
            10 mai 2006 à 20:55:28

            Ben sa marche impec dans phpmyadmin...

            Quand je fais sa :
            include("global.php");
            include("configuration.php");
            $bdd->connect_sql($host,$pseudo,$pass);
            $bdd->select_db('boardpsp');
            $req = mysql_query('SELECT * FROM vbuser');
            while ($ok = mysql_fetch_array($req))
            {
            echo ' Listes des membres :'.$ok['username'].'';
            }


            Sa marche impec !
            • Partager sur Facebook
            • Partager sur Twitter
              10 mai 2006 à 21:02:47

              Où est ce que la variable $req est définie? Nulle part.

              Edit: Normal que ça marche maintenant, sauf que ta class Sql perd tout son interêt.
              • Partager sur Facebook
              • Partager sur Twitter
                10 mai 2006 à 21:04:09

                Oui mais $req est une variable locale à une fonction, c'est pour ça que ça ne marche pas :)
                • Partager sur Facebook
                • Partager sur Twitter
                  10 mai 2006 à 21:06:26

                  Ben j'ai beau définir $req dans la class sql sa fait rien du tout...

                  EDIT: SA Y EST J'AI REUSSI !!!!!
                  Voila le code des 2 pages :
                  essai.php
                  include("global.php");
                  include("configuration.php");
                  $bdd->connect_sql($host,$pseudo,$pass);
                  $bdd->select_db('boardpsp');
                  $bdd->requete_sql('SELECT * FROM vbuser');
                  while ($ok = mysql_fetch_array($bdd->req))
                  {
                  echo ' Listes des membres :'.$ok['username'].'';
                  }



                  Et global.php:
                  class sql
                  {
                  var $req;
                  function connect_sql($host,$pseudo,$pass)
                  {
                  $connect = mysql_connect("$host", "$pseudo", "$pass");
                  }
                  function requete_sql($sql)
                  {
                  $this->req = mysql_query($sql) or die(mysql_error());
                  }
                  function select_db($db)
                  {
                  mysql_select_db($db);
                  }
                  $bdd = new sql();
                  ?>


                  Une autre petit question, comment definir mysql_fetch_array dans global.php pour apres pouvoi l'appeler ( $bdd->nom_de_la_fonction(la_requete_a_mettre_en_array)
                  )
                  Merci d'avance !
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 mai 2006 à 21:13:54

                    Bon je n'aime spécialement donner des solutions toute cuites, mais là je dois y aller.

                    global.php:

                    class sql
                    {
                            function connect_sql($host, $pseudo, $pass)
                            {
                                    mysql_connect($host, $pseudo, $pass) or die(mysql_error());
                            }
                            function select_db($db)
                            {
                                    mysql_select_db($db);
                            }
                            function requete_sql($sql)
                            {
                                    return mysql_query($sql) or die(mysql_error());
                            }
                    }


                    essai.php


                    include_once('global.php');
                    include_once('configuration.php');

                    $bdd = new sql();
                    $bdd->connect_sql($host, $pseudo, $pass);
                    $bdd->select_db('xxxxxx');

                    $req = $bdd->requete_sql('SELECT * FROM vbuser');
                    while( $row = mysql_fetch_array($req) )
                    {
                            echo 'Listes des membres: ' . $row['username'];
                    }
                    • Partager sur Facebook
                    • Partager sur Twitter
                      13 mai 2006 à 13:15:42

                      Voila la classe que je te conseils :) je l'ai coder moi meme->

                      <?php

                      class sql
                      {
                              var $count_queries;

                              function sql($auto_connexion=true)
                              {
                                      $this->count_queries = 0;

                                      if ($auto_connexion)
                                      {
                                              $host = 'XXX';
                                              $sql_user = 'XXX';
                                              $sql_pass = 'XXX';
                                              $bdd = 'XXX';

                                              $this->connect_sql($host,$sql_user,$sql_pass);
                                              $this->select_db($bdd);
                                      }
                              }

                              function connect_sql($host,$sql_user,$sql_pass)
                              {
                                      $connect = mysql_connect($host,$sql_user,$sql_pass)  or die(mysql_error());
                              }

                              function select_db($bdd)
                              {
                                      $connect = mysql_select_db($bdd)  or die(mysql_error());
                              }

                              function query_read($query)
                              {
                                      $read = mysql_query($query) or die(mysql_error());
                                      if ($read)
                                      {
                                              $this->$count_queries++;
                                              return $read;
                                      }
                              }

                              function query_write($query_write)
                              {
                                      $write = mysql_query($query_write) or die(mysql_error());
                                      if ($write)
                                      {
                                              $this->$count_queries++;
                                              return true;
                                      }
                              }

                              function fetch_array($array)
                              {
                                      return mysql_fetch_array($array);
                              }
                      }

                      $bdd = new sql(true);
                      $count_queries = $bdd->count_queries; // Variable pour afficher le nombre de requetes effectuées !
                      ?>

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Probleme avec mysql_fetch_array...

                      × 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