Php mysql erreur

Bonjour,
je ne comprend pas , pourquoi j'ai cette erreur

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bdd\modification2.php on line 27

voila ma page de code
<html>
<head>
<title>modification de données en PHP :: partie2</title>
</head>
<body>
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "fuaj" ) ;

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["nom"] ;

//requête SQL:
$sql = "SELECT *
FROM spip_fuaj_adherents
WHERE nom = ".$id ;

//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des données:
//if( $result = mysql_fetch_object( $requete ) )
while( $result = mysql_fetch_object( $requete ) )
{
?><form name="insertion" action="modification3.php" method="POST">
<input type="hidden" name="id" value="<?php echo($id) ;?>">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>nom</td>
<td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"></td>
</tr>
<tr align="center">
<td>prenom</td>
<td><input type="text" name="prenom" value="<?php echo($result->prenom) ;?>"></td>
</tr>
<tr align="center">
<td>email</td>
<td><input type="text" name="email" value="<?php echo($result->email) ;?>"></td>
</tr>
<tr align="center">
<td>adresse</td>
<td><input type="text" name="adresse" value="<?php echo($result->adresse) ;?>"></td>
</tr>
<tr align="center">
<td>ville</td>
<td><input type="text" name="ville" value="<?php echo($result->ville) ;?>"></td>
</tr>
<tr align="center">
<td>code postal</td>
<td><input type="text" name="code_postal" value="<?php echo($result->code_postal) ;?>"></td>
</tr>
<tr align="center">
<td>date de naissance</td>
<td><input type="text" name="date_naissance" value="<?php echo($result->date_naissance) ;?>"></td>
</tr>
<tr align="center">
<td>date de demande</td>
<td><input type="text" name="date_demande" value="<?php echo($result->date_demande) ;?>"></td>
</tr>
<tr align="center">
<td>demande recu</td>
<td><input type="text" name="demande_recu" value="<?php echo($result->demande_recu) ;?>"></td>
</tr>
<tr align="center">
<td>demande non recu</td>
<td><input type="text" name="demande_non_recu" value="<?php echo($result->demande_non_recu) ;?>"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
?>
</body>
</html>
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. Utilises mysql_fetch_array($reponse) au lieu de mysql_fetch_object($reponse)

    ;)
    1. Notice: Undefined variable: reponse in C:\Program Files\EasyPHP 2.0b1\www\bdd\modification2.php on line 26

      Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bdd\modification2.php on line 26

      j 'ai la meme erreur
      1. bonjour,

        Vérifies si tu n'as pas de problème de connexion ou de base de données ?

        $cnx = mysql_connect( "localhost", "root", "" ) or die ('Erreur');

        //sélection de la base de données:
        $db = mysql_select_db( "fuaj" ) or die ('Erreur');

        sinon fais un echo sur ta requête et colle la directement dans mysql.
        1. tout essayer mais tjs pareil
          nom de la base "fuaj"
          nom de la table "spip_fuaj_adherents"

          j 'essaie de modifier ma bdd mysql via un formulaire avec le code suivant : , mais n 'arrive pas

          <html>
          <head>
          <title>modification de données</title>
          </head>
          <body>
          <?php
          //connection au serveur:
          $cnx = mysql_connect( "localhost", "root", "" ) or die ('Erreur');

          //sélection de la base de données:
          $db = mysql_select_db( "fuaj" ) or die ('Erreur');

          //récupération de la variable d'URL,
          //qui va nous permettre de savoir quel enregistrement modifier
          $id = $_GET["nom"] ;

          //requête SQL:
          $sql = "SELECT *
          FROM spip_fuaj_adherents
          WHERE nom = ".$id ;

          //exécution de la requête:
          $requete = mysql_query( $sql, $cnx ) ;
          //affichage des données:

          if( $result = mysql_fetch_object( $requete ) )
          {
          ?>
          <form name="insertion" action="modification3.php" method="POST">
          <input type="hidden" name="nom" value="<?php echo($id) ;?>">
          <table border="0" align="center" cellspacing="2" cellpadding="2">
          <tr align="center">
          <td>nom</td>
          <td><input type="text" name="nom" value="<?php echo($donnees->nom) ;?>"></td>
          </tr>
          <tr align="center">
          <td>prenom</td>
          <td><input type="text" name="prenom" value="<?php echo($result->prenom) ;?>"></td>
          </tr>
          <tr align="center">
          <td>email</td>
          <td><input type="text" name="email" value="<?php echo($result->email) ;?>"></td>
          </tr>
          <tr align="center">
          <td>adresse</td>
          <td><input type="text" name="adresse" value="<?php echo($result->adresse) ;?>"></td>
          </tr>
          <tr align="center">
          <td>ville</td>
          <td><input type="text" name="ville" value="<?php echo($result->ville) ;?>"></td>
          </tr>
          <tr align="center">
          <td>code postal</td>
          <td><input type="text" name="code_postal" value="<?php echo($result->code_postal) ;?>"></td>
          </tr>
          <tr align="center">
          <td>date de naissance</td>
          <td><input type="text" name="date_naissance" value="<?php echo($result->date_naissance) ;?>"></td>
          </tr>
          <tr align="center">
          <td>date de demande</td>
          <td><input type="text" name="date_demande" value="<?php echo($result->date_demande) ;?>"></td>
          </tr>
          <tr align="center">
          <td>demande recu</td>
          <td><input type="text" name="demande_recu" value="<?php echo($result->demande_recu) ;?>"></td>
          </tr>
          <tr align="center">
          <td>demande non recu</td>
          <td><input type="text" name="demande_non_recu" value="<?php echo($result->demande_non_recu) ;?>"></td>
          </tr>
          <tr align="center">
          <td colspan="2"><input type="submit" value="modifier"></td>
          </tr>
          </table>
          </form>
          <?php
          }//fin if
          ?>
          </body>
          </html>
          1. Tu ne nous dit pas en quoi ca ne marche pas.

            Modifie ton code (ainsi que déjà suggéré) :
            //connexion au serveur:
            $cnx = mysql_connect( "localhost", "root", "" ) or die ('Erreur à la connexion');
            
            //sélection de la base de données:
            $db = mysql_select_db( "fuaj" ) or die ('Erreur à la sélection de bdd');
            
            
            //récupération de la variable d'URL,
            //qui va nous permettre de savoir quel enregistrement modifier
            $id = $_GET["nom"] ;
            
            //requête SQL:
            $sql = "SELECT * FROM spip_fuaj_adherents"
            	. " WHERE nom = " . $id ;
            
            //exécution de la requête:
            $requete = mysql_query( $sql, $cnx ) or die( mysql_error() ;
            //affichage des données:
            
            if( $result = mysql_fetch_object( $requete ) )
            


            Qu'est-ce-qui est affiché ?
            1. tjs le meme message

              Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 2.0b1\www\bdd\modification2.php on line 27
              1. As-tu bien modifié ton script en ajoutant les or die.. sur mysql_connect et mysql_select_db ?
                1. 1er chose le syntaxe de IF
                  est:

                  IF(.... == ....){
                  .....
                  }

                  c pas

                  IF( .... = ....){
                  .......
                  }
                  1. C'est tout à fait exact mais ce n'est pas la première chose : l'erreur sur mysql_fetch... intervient avant. il convient donc de la résoudre en premier.