Probleme php mysql_num_rows

Bonjour, je fait un site d'inscription très complet mais j'ai un problème que je n'arrive pas a resoudre voici la parti de code ou j'ai l'erreur:

$UserCheck = mysql_query("SELECT login FROM accounts WHERE login = '$Username'");
if (mysql_num_rows($UserCheck) > 0)
{
$HTML .= "<br /><b> This username is already registered, please select another</b>";
$Continue = false;
}
// Check if this IP has more than the accounts per IP limit
$UserCheck = mysql_query("SELECT login FROM accounts WHERE lastip = '$ip'");
if (mysql_num_rows($UserCheck) > $AccsPerIP)
{
$HTML .= "<br /><b> You have reached your maximum amount of accounts, which is currently: $AccsPerIP </b>";
$Continue = false;
}

si quelqu'un pourrais m'aider je lui serais vraiment reconnaissant

10 réponses

  1. Contributeur
    Bonjour,

    Quel numrow ne fonctionne pas ?? celui qui vérifie le login, ou celui qui vérifie l ip ?? ou ptetre les deux :(
    0
    1. Bonjour
      Peut être essaye la requête comme ca :
      $UserCheck = mysql_query("SELECT login FROM accounts WHERE login = '".$Username."');   
      
      0
      1. C'est quoi l'erreur exacte ?
        Sinon pense à proteger ta base ... utilise mysql_real_escape_string ...
        0
        1. les deux ne marche pas et melooo jai asseyer ton code et sa ne fonctionne pas plus
          voici l'erreur:
          Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Trinitycore1\Server\htdocs\game_acc.php on line 132

          Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Trinitycore1\Server\htdocs\game_acc.php on line 139
          0
          1. Tu as pensé à vérifier si tu es bien connecté au serveur avant de faire tes requêtes ?
            0
            1. vérifie également que tes requêtes soient justes
              0
              1. ma requête est juste et oui je suis connecté au serveur ne t'inquiète pas.
                0
                1. L'as tu testé sous PHPmyadmin ?
                  0
                  1. J'ai tout tester meme avec wamp (qui utilise phpmyadmin) et je lai avec apache aussi
                    0
                    1. Contributeur
                      Bonjour,

                      Au lieu de
                      $UserCheck = mysql_query("SELECT login FROM accounts WHERE login = '$Username'");
                      if (mysql_num_rows($UserCheck) > 0)
                      {
                      $HTML .= "<br /><b> This username is already registered, please select another</b>";
                      $Continue = false;
                      }


                      moi je mettrais :
                      $result= mysql_query("SELECT * from 'accounts' WHERE 'login' = '".$Username."'");
                      $UserCheck= mysql_fetch_array($result);
                      if(isset($UserCheck["login"])){
                      {
                      $HTML .= "<br /><b> This username is already registered, please select another</b>";
                      $Continue = false;
                      }


                      Je sais que les requêtes SQL préfèrent avoir le nom des tables entre ' .. qui n est ni " ni ' .. c'est ce symbole que tu peut trouver lorsque tu fait des requêtes directement dans mysql ;)
                      0