2016-04-26 96 views
-1

试图与用户名/密码我已创建登录时,我收到此错误SQL错误:mysql_num_rows)(预计参数1是资源

Warning: mysql_num_rows() expects parameter 1 to be resource 

。在这行代码

if(mysql_num_rows($checklogin) == 1) 

这里它给我的错误是它周围的代码

$checklogin = mysql_query("SELECT * FROM users WHERE Username = '".$username."' AND Password = '".$password."'"); 

    if(mysql_num_rows($checklogin) == 1) 
    { 
     $row = mysql_fetch_array($checklogin); 
     $email = $row['EmailAddress']; 

     $_SESSION['Username'] = $username; 
     $_SESSION['EmailAddress'] = $email; 
     $_SESSION['LoggedIn'] = 1; 

     display_user_profile(); 
    } 
+0

这是一个很受欢迎的问题 - 你的查询失败并产生一个布尔型的'false'结果,你使用时没有首先检查它是否有效。此外,您的代码存在一些安全问题:SQL注入,未加密的密码,未加密的密码。 – halfer

+0

我检查了它,但我删除了检查代码。我反正修正了它 – DontMatter

+0

[mysql \ _fetch \ _array()/ mysql \ _fetch \ _assoc()/ mysql \ _fetch \ _row()的可能重复需要参数1是资源或mysqli \ _result,布尔给定](http:/ /stackoverflow.com/questions/2973202/mysql-fetch-array-mysql-fetch-assoc-mysql-fetch-row-expects-parameter-1-to) – halfer

回答