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

SQL Procédural MySQL Discussion :

erreur inconnu mysql_fetch_row(): supplied argument


Sujet :

SQL Procédural MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2005
    Messages : 41
    Par défaut erreur inconnu mysql_fetch_row(): supplied argument
    Salut
    je travail sur win 2000 sevice pack 4 avec easy php1.8.0.1
    j'ai un probleme dont je ne comprend pas la source.
    quand j'utilse la fonction dans ce code elle fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    <html>
     <head>
     <title>Liens</title>
     </head>
    <body>
    <table border="1" cellpadding="0" cellspacing="0">
    <tr>
    <th>Nom du site</th>
    <th>URL</th>
    </tr>
     
    <?php
    function executeRequeteselect($sql,$conn){
    if ($result=mysql_query($sql,$conn)){return $result;} 
    else {print (mysql_error());echo "<br>erreur mysql";}
    }
    // Déclaration des paramètres de connexion
    $host = "localhost";  
    // Généralement la machine est localhost
    // c'est-a-dire la machine sur laquelle le script est hébergé
    $user = "root";
    $bdd = "extrabit";
    $passwd  = "";
    // Connexion au serveur
    $conx=mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
    mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
    // Creation et envoi de la requete
    $query = "select * from users order by login_user";
    $result = executeRequeteselect($query,$conx);//mysql_query($query);
    // Recuperation des resultats
    while($row = mysql_fetch_row($result)){
    $Nom = $row[0];
    $Url = $row[1];
    echo "<tr>\n
    <td><a href=\"$Url\">$Nom</a></td>\n
    <td>$Url</td>\n
    </tr>\n";
    }
    // Deconnexion de la base de donnees
    mysql_close();
    ?>
    </tr>
    </table>
    </body>
    </html>
    mais quand je l'utilise a partir de la classe Connection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?php 
    class Connexion
    {
    var $conn;
    ////////////////////////////////////////geters et seters///////////////////////////////////
    function getConnection ()
      {
      return $this->conn;
     }
    function SetConnection($connf){
       $this->conn=$connf;
    }
    function Connexion(){}
    /////////////////////////////////////////////Connection//////////////////////////////////////////
    function connecte(){
    // connecte ("root","") à la base mysql $mysql
    // rend l'id de la connexion ainsi qu'un code d'erreur
    $connf=mysql_connect("localhost","root","");
    if ($connf){  $this->conn=$connf; echo $connf;} 
    else echo"Erreur lors de la connexion à la base de donées sous l'identité ($mysql,root,))";
    }//connecte
    //////////////////////////////////////////deconnection//////////////////////////////////////
    function deconnecte(){
    // ferme la connexion mysql identifiée par $connexion
    // rend un code d'erreur
    if (mysql_close($this->conn)) return "";
    else return $mysql_error;
    }//ferme
    ////////////////////exection de la requette insert////////////////////////////
    function exécuteRequêteinsert($sql){
    if ($res=mysql_db_query("extrabit",$sql,$this->conn)){
    return true;
    }
    else { return false;}
    }
    //////////////////////exection des requette de type select//////////////////
    function executeRequeteselect($sql){
    if ($result=mysql_query($sql,$this->conn)){return $result;} 
    else {print (mysql_error());echo "<br>erreur mysql";}
    }
    //fonction de test d'existance
    function existe_users($colone,$identifiant,$conn,$table){
    $result = mysql_query("SELECT $colone FROM $table WHERE $colone = $identifiant",$conn);
    $num_rows=mysql_num_rows($result);
    if($num_rows==0){
    mysql_free_result($result); return false;
    }else{mysql_free_result($result);return true;}
     
    }
    /*function Connection(){
    $passwd  = "";
    // Connexion au serveur
    $conn=mysql_connect("localhost", "root","") or die("erreur de connexion au serveur");
    mysql_select_db("extrabit") or die("erreur de connexion a la base de donnees");
    return $conn;
    }*/
    }
    ?>
    il ne marche pas

    le code où je l'utlise est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Document sans titre</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!--
    .Style1 {
     font-family: Tahoma;
     font-size: 10px;
    }
    body {
     margin-left: 10px;
    }
    -->
    </style>
    </head>
    <body>
    <?php
    ////////////////////////////necessité de recuperer avec $_POST////////////////////////////////////////
    ini_set("register_globals","off");
    //////////////////////////////////////////inclusion des decaration de pages//////////////////
    include "../include/incld.php";
    //////////////////////////////////////////inclusion de la page de connection//////////////////
    include $page_connexion;
    include $page_user;
    $conOAff=new Connexion;
    $conOAff->connecte();
    $idconAff=$conOAff->getConnection();
    // Creation et envoi de la requete
    $Uaff = new User("","","","","");
    $queryAff=$Uaff->liste();
    echo "$queryAff";
    $resultAff = $conOAff->executeRequeteselect($queryAff);
    echo "$resultAff";
    // Recuperation des resultats
     ?>
    <form name="form1" method="post" action="supprm_users.php">
      <table width="70%" border="1" align="center">
        <tr class="Style1">
          <td colspan="6"><div align="center">L'ensemble des utilisateurs </div></td>
        </tr>
        <tr class="Style1">
          <td colspan="4">&nbsp;</td>
          <td colspan="2"><input name="supprimer_user" type="submit" id="supprimer" value="Supprimer">
          <input name="modifier_user" type="submit" id="modifier" value="Modifier"></td>
        </tr>
        <tr class="Style1">
          <td width="5"><span class="Style1">Selection</span></td>
          <td width="10" class="Style1">Nom de l'utilisateur</td>
          <td width="10" class="Style1">Login</td>
          <td width="10" class="Style1">Mot de passe </td>
          <td width="4" class="Style1">Type        </td>
          <td width="4" class="Style1">Informations sur le client.</td>
        </tr>
        <?php 
    $i = 0;
     
     while($row = mysql_fetch_row($resultAff)){ //ligne 66
    ////////////////////////////signification des rangs du tableau $row//////////////////////////////////////////////
    //$login_user = $row[1];
    //$pwd_user = $row[2];
    //$Nom_user = $row[3];
    //$description = $row[4];
    //$type_user = $row[5];
          echo "<tr>
       <td>&nbsp;<input type=checkbox name=C$i value=$row[1]> </td>
          <td>&nbsp;$row[3]</td><input name=Nom_user$i type=hidden value=$row[3]>
          <td>&nbsp;$row[1]</td><input name=login_user$i type=hidden value=$row[1]>
          <td>&nbsp;$row[2]</td><input name=pwd_user$i type=hidden value=$row[2]>";
        if($row[5]=="1"){ echo" <td>&nbsp;Administrateur</td> <input name=type_user$i type=hidden value=$row[5]>"; }
        else{ echo" <td>&nbsp;Client</td><input name=type_user$i type=hidden value=$row[5]>";}
          echo"<td >&nbsp;&nbsp;&nbsp;$row[4]</td><input name=description$i type=hidden value=$row[4]>
       </tr>
       ";
       $i++;
      }echo"<input name=nbr_chk type=hidden value=$i>";
     
    $conOAff->deconnecte();
     ?>
      </table>
    </form>
    </body>
    </html>
    l'erreur qui m'est affiche est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Aucune base n'a été sélectionnée
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\page_extrabit\user\affich\afficher_users.php on line 66
    j'ai mentionne la ligne 66 dans le code dans le code

    merci pour vos aides.
    Salut

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    le problème vient de cette ligne je pense :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if ($res=mysql_db_query("extrabit",$sql,$this->conn)){
    return true;
    il te faudrait renvoyer $res au lieu de true...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2005
    Messages : 41
    Par défaut mauvaise coloration
    Salut
    déslolé mais j'ai procéde à une mauvaise coloration de la fonction .maintenant j'ai corrigé la coloration .Ainsi vous pouvez voir que executeRequeteselect retourne $result
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function executeRequeteselect($sql){
    if ($result=mysql_query($sql,$this->conn)){return $result;} 
    else {print (mysql_error());echo "<br>erreur mysql";}
    }
    j'attend votre reponse chères .
    Salut

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mars 2005
    Messages : 41
    Par défaut résolu
    Salut j'ai trouve l'erreur
    en effet pour ce connecte a ma base je devait specifier la base de donnée dans la fonction de connection connecte() avec la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_select_db("extrabit") or die("erreur de connexion a la base de donnees");
    l'ancienne redaction de connecte() etait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function connecte(){
    // connecte ("root","") à la base mysql $mysql
    // rend l'id de la connexion ainsi qu'un code d'erreur
    $connf=mysql_connect("localhost","root","");
    if ($connf){  $this->conn=$connf; echo $connf;} 
    else echo"Erreur lors de la connexion à la base de donées sous l'identité ($mysql,root,))";
    }//connecte
    la nouvelle est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function connecte(){
    // connecte ("root","") à la base mysql $mysql
    // rend l'id de la connexion ainsi qu'un code d'erreur
    $connf=mysql_connect("localhost","root","");
    if ($connf){  $this->conn=$connf; 
    mysql_select_db("extrabit") or die("erreur de connexion a la base de donnees");
    } 
    else echo"Erreur lors de la connexion à la base de donées )";
    }//connecte
    Salut

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource
    Par domi232 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 17/12/2012, 14h33
  2. Réponses: 8
    Dernier message: 15/05/2010, 09h41
  3. [MySQL] erreur Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result
    Par kate59 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/02/2008, 17h52
  4. [MySQL] Message d'erreur SQL mysql_fetch_assoc(): supplied argument is not a valid
    Par pony99 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 19/02/2007, 16h44
  5. Réponses: 3
    Dernier message: 30/09/2004, 20h16

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