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
    c'est $resultat=mysql_affected_rows();
    lorsque tu fait un update, c'est true ou false qui est retourne, c'est pas des ressources
    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
        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. 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
            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. 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
              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. Contributeur
                ça fonctionne ?
                et encore désolé de t'avoir fait perdre du temps !

                mea culpa, mea maxima culpa…