php - 空查询验证的更好实践

标签 php mysql

在MySQL中进行查询后,为了避免出现警告:mysql_fetch_assoc()需要参数1为资源,给定 bool 值错误,我做了以下检查:

if($result != null){
    while($row = mysql_fetch_assoc($result)){
         //Do awesome things        
    }
}

如果结果为空,我不想执行任何操作,因此不需要 if()。我确信可以以更好的方式进行检查。有什么想法吗?

最佳答案

I don't want to do anything if the result is empty

您已经在代码中覆盖了部分(该部分:“如果结果为空”)。

但是,如果没有可从中获取的结果(非结果),则您不会覆盖该部分。您需要检查 TRUE/FALSE:

if ($result) {
   # there was a database result - empty or not
} else {
   # there was no database-result to fetch from.
}

顺便说一句,这是一个常见问题,因此在处理前一个函数的返回值时要小心。许多函数和库都存在返回多种类型的问题,因此在继续之前检查返回类型非常重要。

关于php - 空查询验证的更好实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15924137/

相关文章:

php - PHP解析/语法错误;以及如何解决它们

php - 对 3 维数组进行排序

php - 登录表单脚本其他部分不起作用

php - 使用复选框过滤多个类别

mysql - 使用 SELECT 查询进行复杂的排行榜计算

php - Symfony2 持久化嵌入形式

php - 空 php json,同时使用重音符号从 mySQL 进行查询

php - 发布变量返回无效

mysql - 不能对多列使用全文搜索

php - 在 PHP 中仅从 SQL 输出中读取一列作为数值数组