首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何判断资源是否为空?

如何判断资源是否为空?
EN

Stack Overflow用户
提问于 2012-01-19 21:34:41
回答 5查看 90关注 0票数 0

所以我想做一个mysql_query --我想知道一个资源是否为空(也就是说,我们不能获取任何值)。如果不存在任何值,查询是否会作为false返回?我读到的文档是正确的吗?

EN

回答 5

Stack Overflow用户

发布于 2012-01-19 21:37:26

您可以使用mysql_num_rows()统计返回的行数,并检查从查询中收到了多少行。

代码语言:javascript
运行
复制
$results = mysql_query("SELECT * FROM...");
if(mysql_num_rows($results) > 0 ) {
    // Got some results
} else {
    //no rows
}

但是请注意,如果查询由于无效的SQL或其他原因而失败,则$results将为false,因此您可以这样做:

代码语言:javascript
运行
复制
if(!$results) {
    // Query was invalid
}
票数 5
EN

Stack Overflow用户

发布于 2012-01-19 21:38:52

为此,您将使用mysql_num_rows()

如果mysql_query()返回FALSE,则意味着查询操作存在actaul问题,而不是没有返回任何行。

流程是这样的:

代码语言:javascript
运行
复制
$query = "SELECT * FROM wherever";
if (!$result = mysql_query($query)) {
  // mysql_error() gives a human readable string that explains what went wrong
  // You should **never** show it in a production environment!
  die('MySQL Error: '.mysql_error());
}

if (!mysql_num_rows($result)) {
  // There were no results
} else {
  // There were some results
}

这仅适用于返回数据(SELECTDESCRIBE等)的查询--如果操作成功,则只执行操作(INSERTUPDATEDELETE等)的查询将始终返回TRUE;如果操作失败,则始终返回FALSE

manual

表示SELECT、SHOW、DESCRIBE、EXPLAIN和其他返回结果集的语句,mysql_query()在成功时返回资源,在错误时返回FALSE。

对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,mysql_query()在成功时返回TRUE,在出错时返回FALSE。

票数 3
EN

Stack Overflow用户

发布于 2012-01-19 21:38:23

如果没有要返回的记录,mysql_num_rows($resultHandle)将返回0(零)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8926921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档