有人可以帮我解决这个错误信息吗?我无法弄清楚

时间:2016-12-09 06:08:53

标签: php mysql database

警告:mysql_num_rows()期望参数1为资源,第33行/home/elijahrx/public_html/User/register.php中给出布尔值抱歉,有问题,请稍后再试!

/* Verfiy whether the user ID exists */
$qry1="SELECT userID FROM User_T WHERE userID='$userID'";
$result1=@mysql_query($qry1);
if (mysql_num_rows($result1)!=0)
{ echo "$userID exists, please try another userID<BR>"; }
else
{
 $qry2="insert into User_T (userID, name, password)
values(\"$userID\",\"$name\",\"$password\")";
 $result2=@mysql_query($qry2);
 if($result2)
 {echo "$userID has been successfully registered !"; }
 else
 {echo "Sorry, something wrong, please try later!"; }

2 个答案:

答案 0 :(得分:2)

这一行失败了:

$result1=@mysql_query($qry1);

但是您错过了任何错误消息,因为您正在使用错误抑制。将其更改为此以查看是否显示错误:

$result1=mysql_query($qry1);

您还可以使用mysql_error函数从MySql输出错误:

http://php.net/manual/en/function.mysql-error.php

使用查询/连接解决了错误后,您就可以了。

答案 1 :(得分:0)

正如许多用户已经建议的那样,SQL查询中存在错误,导致mysql_query函数返回FALSE而不是resource

检查您的代码是否与本文档中的示例相似:http://php.net/manual/en/function.mysql-num-rows.php

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

可能未选择数据库或无法建立与MySQL服务器的连接。

尝试将数据库名称添加到查询中,例如:

$qry1="SELECT userID FROM MYDATABASENAME.User_T WHERE userID='$userID'";