PHP错误消息:mysql_num_rows()期望参数1是资源,给定布尔值

时间:2013-10-08 22:34:47

标签: php sql

我正在创建一个登录表单,用于查询数据库是否存在用户。这个脚本在我自己的服务器上工作正常但是一旦我在我的大学服务器上尝试它,我在标题中得到了错误。我认为问题与我的SQL查询有关,但我不确定是否诚实。

<?php
$dbhost="localhost"; 
$username="v22comp_B09052"; 
$password="-"; 
$db="v22comp_B09051-12-13"; 
$table="secrets"; 

// Connect to the database
mysql_connect("$dbhost", "$username", "$password") or die ("Can not connect to the database"); 
mysql_select_db("$db") or die ("Database is not selectable");

//Post input
$inputusername=$_POST['uid']; 
$inputpassword=$_POST['upassword']; 

//Check input
$sql="SELECT * FROM $table WHERE username='$inputusername' and password='$inputpassword'";
$sqlop=mysql_query($sql);

//If a row matches, output a string informing the user that they are logged in. If not, output a string informing them that they are not
$rowmatch=mysql_num_rows($sqlop);
if($rowmatch==1)
{
echo "You are now logged in";
}
else 
{
echo "Invalid ID or password";
}
?>

2 个答案:

答案 0 :(得分:0)

你是对的,查询有问题。当查询出错时,它返回false,因此布尔错误。

答案 1 :(得分:0)

从我的观点来看,SQL语句中存在错误。这就是为什么它不为结果集返回资源,而是假设布尔值为'false'。也许您忘了创建表,尝试从中选择数据?