Problème de requete

Résolu
Bonjour,
J'ai un problème de requête tout bête j'en suis sûr mais je ne trouve pas. J'obtiens
Warning: mysql_affected_rows(): supplied argument is not a valid MySQL-Link resource in /xxx/xxx/xxx.php on line 71

J'ai lu que c'était dû a un problème au niveau de ma requête mais,

_J'ai essayé ma requete en ligne de commande et celle-ci fonctionne parfaitement.
_J'ai fait un print des variables $pass et $log et j'obtiens bien leur valeur

$requete="update user
set user_pass='$pass'
where user_log='$log'";
$execution=mysql_query($requete);
$resultat=mysql_affected_rows($execution);
if($resultat>0)
{

}
Configuration: Windows XP
Firefox 2.0.0.6

12 réponses

  1. Contributeur
    ça fonctionne ?
    et encore désolé de t'avoir fait perdre du temps !

    mea culpa, mea maxima culpa…
    1. Contributeur
      salut,

      je vais essayer de me rattraper !!!
      avec 'UPDATE' 'mysql_query()' renvoie directement le résultat de la réquête sous la forme "true/false".
      donc tu peux faire ton test directement sur '$execution'.
      $requete="update user
      set user_pass='$pass'
      where user_log='$log'";
      $execution=mysql_query($requete) or die ("probleme de requete");
      if($execution)
      {
      print("GOOD");
      exit;
      }
      else
      {
      print("PROBLEM");
      } 


      1. Oui
        Voilà exactement ce que je fais:

        $requete="update user
        set user_pass='$pass'
        where user_log='$log'";
        $execution=mysql_query($requete) or die ("probleme de requete");
        $resultat= mysql_num_rows($execution);
        if($resultat>0)
        {
        print("GOOD");
        exit;
        }
        else
        {
        print("PROBLEM");
        }

        j'obtiens
        Warning: mysql_num_rows(): supplied argument is not a valid MySQL-Link resource in /xxx/xxx/xxx.php on line 71
        PRBLEM
        1. Contributeur
          1. Contributeur
            salut,

            je viens de relire…
            mais quel c*n !!!

            je voulais absolument faire un 'SELECT'. (?!)
            'mysql_affected_rows()' ne fonctionne pas avec 'SELECT', il faut utiliser 'mysql_num_rows()'. et il faut lui fournir la ressource en paramètre.
            va savoir pourquoi alors que j'ai même collé le code de l' 'UPDATE'.

            merci à toi et pardon pour la perte de temps.
        2. je suis perdu....

          Si j'utilise la fonction mysql_num_rows()
          j'obtiens
          Warning: mysql_num_rows(): supplied argument is not a valid MySQL-Link resource in /xxx/xxx/xxx.php on line 71
          1. Contributeur
            Je trouve vraiment bizare le fait de ne pas utiliser mysql_affected_rows!!!
            tes lignes ne sont pas "affectées" par la requête, ce n'est pas la bonne fonction c'est tout !

            $requete="update user
            set user_pass='$pass'
            where user_log='$log'";
            $execution=mysql_query($requete);
            $resultat= mysql_num_rows($execution);
            if($resultat>0)
            {
            
            }


            et voilà !
            1. bONJOUR ?
              merci

              Je pense pas avoir tout compris
              Je trouve vraiment bizare le fait de ne pas utiliser mysql_affected_rows!!!

              J'ai donc fait:

              $requete="update user
              set user_pass='$pass'
              where user_log='$log'";
              $execution=mysql_query($requete);
              print("lignes modifiés : $execution<br>");
              if ($execution ==true)
              {
              print("GOOD");
              exit;
              }
              else
              {
              print("ERREUR");
              exit;
              }
              1. Contributeur
                c'est $resultat=mysql_affected_rows();
                lorsque tu fait un update, c'est true ou false qui est retourne, c'est pas des ressources