Warning: mysql_fetch_object(): supplied argum

Fermé
TucSky - 27 juin 2011 à 02:22
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 27 juin 2011 à 13:33
Bonjour,
Je débute en Mysql et j'essai de monter un script qui me permet de choisir un utilisateur dans une liste puis de modifier ses données.
La premiere page, celle qui sert à afficher la liste des utilisateurs fonctionne, mais quand je veut en modifier un, ça me donne :

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /public_html/wordpress/scripts/modification2.php on line 26


Cette page devrais nous permetre de modifier la "balance" d'un utilisateur puis de l'envoyer sur la base mysql.

Voici le Contenu de "modification2.php" ainsi que sa ligne 26 :
<html>
  <head>
  </head>
<body>
  <?php
   //connection au serveur:
    $cnx = mysql_connect( "xxxx", "xxxx", "xxxx" ) ;
 
    //sélection de la base de données:
    $db = mysql_select_db( "xxxx" ) ;
 
  //récupération de la variable d'URL,
  //qui va nous permettre de savoir quel enregistrement modifier
  $id  = $_GET["idPersonne"] ;
 
  //requête SQL:
  $sql = "SELECT *
            FROM iConomy
	    WHERE id = ".$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="id" value="<?php echo($id) ;?>">
  <table border="0" align="center" cellspacing="2" cellpadding="2">
    <tr align="center">
      <td>username</td>
      <td><input type="text" name="username" value="<?php echo($result->username) ;?>"></td>
    </tr>
    <tr align="center">
      <td>balance</td>
      <td><input type="text" name="balance" value="<?php echo($result->balance) ;?>"></td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="modifier"></td>
    </tr>
  </table>
</form>
  <?php
  }//fin if 
  ?>
  </body>
</html>


J'ai repassé la ligne qui pose problème en gras.
Voilà voilà, Merci d'avance !

1 réponse

Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié par Reivax962 le 27/06/2011 à 13:35
Bonjour,

Cette erreur signifie que $requete n'est pas un résultat correct de requête.
La plupart du temps, cela arrive quand ta requête a généré une erreur.

Pour récupérer la dernière erreur MySQL, il faut utiliser la fonction mysql_error().

Voici le petit correctif que je te propose :

//exécution de la requête:  
  $requete = mysql_query( $sql, $cnx ) or die("Erreur dans la requête $sql : <br/>".mysql_error($cnx));


Xavier

PS : attention à enlever ce message d'erreur si ton site est public, car cela peut donner des infos à un utilisateur malveillant... Le mieux dans ce cas est d'envoyer l'erreur par courriel, ou la loguer dans un fichier texte sur le serveur, plutôt que de l'afficher.
0