MySQL_NUM_ROWS在数据库中找不到数据时会发出警告



我的查询表现良好,但是问题在某种程度上给了我警告,当数据库中没有数据匹配时。

$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。

相关内容

  • 没有找到相关文章

最新更新