我的查询表现良好,但是问题在某种程度上给了我警告,当数据库中没有数据匹配时。
$count = mysql_num_rows($qry); //warning here
我可以使用 @
隐藏错误,但是我知道这不是很好的编程,所以我如何从输出中隐藏警告?
警告:警告:mysql_num_rows()期望参数1为 资源,在[11]
的[somepage.php]中给出的布尔值
$count = @mysql_num_rows($qry); //No warning
所以我知道会有一种隐藏警告的方法,但我不知道。请帮助我。
有些人说您应该通过抑制警告来解决这个问题。不要听他们的话 - 警告告诉您有问题。压制他们打败了他们的全部目的。
我还假设您知道mysql_
功能被弃用了MySQLI。其他人已经提到了这一点,它们是绝对正确的 - mysql
扩展程序存在许多安全问题。太糟糕了,如果您想升级到PHP 7,您将被迫使用mysqli
,因为mysql
已完全删除。
但通常,当某些东西返回成功的资源和失败时的false
时,您可以在使用资源之前检查失败。喜欢:
$rslt = mysql_query($query);
if (!$rslt)
{
// handle error
}
else
{
$count = mysql_num_rows($rslt);
// ...
}
作为布尔值检查结果的替代方法,您可以交换案例并使用is_Resource。