mysql_num_rows() expects parameter 1 to be resource, string given in

后端 未结 5 1770
说谎
说谎 2021-01-23 14:13

I have read through many other threads about this exact problem, but i for some reason can not solve my problem. Really need some help.

if (!$username||!$passwo         


        
相关标签:
5条回答
  • 2021-01-23 14:23

    Ok, if anyone having the same issue, just add the variable within the if() statement two times, like so:

    $Query = mysql_query($sql); 
    IF($Query && mysql_num_rows($Query)> 0){ // continue with the code}
    

    This should fix the issue.

    0 讨论(0)
  • 2021-01-23 14:25

    First You make sure that connection established correctly to the database.

    Instead of writing query directly in

    $check = mysql_query("SELECT * FROM Test WHERE username = '$username'");
    

    Store the query in variable as

    $query = "SELECT * FROM Test WHERE username = '".$username."'";
    

    and execute it as

    $check = mysql_query($query);
    

    if you are still facing the issue,

    echo the query as

    echo $query;
    

    and execute the query directly in phpmyadmin and you can find the issue.

    I hope this helps.

    0 讨论(0)
  • 2021-01-23 14:34

    Try to like this:

    $query = "SELECT username FROM $this->table WHERE username='$sUser'";
    $result = mysql_query($query);  
    $num_rows = mysql_num_rows($result); 
    
    0 讨论(0)
  • 2021-01-23 14:34

    You can try like this

    $sql= "SELECT * FROM Test WHERE username = '".$username."'";
    $check = mysql_query($sql);
    

    I think your $check returns null that is no user with this username and null can't be a parameter mysql_num_rows() function.

    if($check)
    {
        echo "Username already taken";
    }
    else
    {
      echo "Username available";
      // do other actions
    }
    
    0 讨论(0)
  • 2021-01-23 14:45

    Change:

    $check = mysql_query("SELECT * FROM Test WHERE username = '$username'");
    

    to

    $check = mysql_query("SELECT * FROM Test WHERE username = '$username'") or die(mysql_error());
    

    And you will see any potential errors that happens in the query.

    Also, I would highly recomend using either PDO or Mysqli instead of mysql functions, as they are deprecated and will be removed in future php versions.

    0 讨论(0)
提交回复
热议问题