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

  • Votes
  • Date
  • Date décroissante
  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 :(
    1. Bonjour
      Peut être essaye la requête comme ca :
      $UserCheck = mysql_query("SELECT login FROM accounts WHERE login = '".$Username."');   
      
      1. C'est quoi l'erreur exacte ?
        Sinon pense à proteger ta base ... utilise mysql_real_escape_string ...
        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
          1. Tu as pensé à vérifier si tu es bien connecté au serveur avant de faire tes requêtes ?
            1. ma requête est juste et oui je suis connecté au serveur ne t'inquiète pas.
              1. J'ai tout tester meme avec wamp (qui utilise phpmyadmin) et je lai avec apache aussi
                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 ;)