-2
这是我的代码:Mysql的NUM行总是要1
<?php
$host="localhost";
$user="root";
$pass="";
$db="comportal";
mysql_connect($host, $user,$pass);
mysql_select_db($db);
if(isset($_POST['username'])){
$username=$_POST['username'];
$password=$_POST['password'];
$sql="SELECT * FROM user WHERE username='".$username."' AND password='".$password."' LIMIT 1";
$res= mysql_query($sql);
if(mysql_num_rows($res)==1){
echo "Successfully logged in.";
exit();
}
else{
echo "Invalid Information. Please return to the previous page.";
exit();
}
}
?>
,我总是得到这样的错误:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\sample\login.php on line 20
Invalid Information. Please return to the previous page.
然后我试图改变
if(mysql_num_rows($res)==1){
echo "Successfully logged in.";
exit();
与
if($res==true){
echo "Successfully logged in.";
exit();
但是,现在它在逻辑上是错误的。它说成功登录,即使它没有存储在数据库中。
请问我该如何解决?
可能重复的[mysql \ _fetch \ _array()期望参数1是资源(或mysqli \ _result),布尔给定](http://stackoverflow.com/questions/2973202/mysql-fetch-array-expects -parameter -1-待资源或-mysqli的对结果布尔) – 2015-02-17 23:12:57