php怎么判断mysqli的结果集是否为空

新酱
134
文章
32
评论
2019年8月12日19:42:23 4 215 777字阅读2分35秒

php怎么判断mysqli的结果集是否为空

今天做了一个简单的判断添加后台,主要判断这个链接在数据库中是否存在,如果不存在则开始添加,就是这么一个小功能,差点气翻我,上次这样还是mysqli_query查询为空不返回false的时候。大概一段时间没有碰mysqli了,忘记了怎么判断结果集是否为空,折腾了1个小时,最后才想起来,希望大家不要跟我一样健忘。

php怎么判断mysqli的结果集是否为空

mysqli_query()不能用于判断

因为我学习mysqli的时候自己记过笔记,粗略的看了一眼,在我的潜意识中mysqli_query()查询成功就返回结果集,查询为空那不就是false了,于是我一开始是这样判断的

结果显而易见,即便是数据库确实没有任何数据,$re也绝对不会等于false,因为mysqli_query()不能用于判断查询是否为空!

我仔细的看了一遍我记录的关于mysqli_query()的笔记,终于发现了这样一句话:

mysqli_query() 仅对 SELECT,SHOW 或 DESCRIBE 语句返回一个mysqli_result结果集对象,如果查询执行不正确则返回 FALSE。

注意重点!查询不正确返回false,而不是查询为空返回false!!

粗心又浪费了我一个小时的时间,希望自己以后更加的细心。

mysqli_num_rows()才能用于判断

一番查找后找到了用于判断结果集是否为空的命令mysqli_num_rows(),它可以获取到结果集中的数据行数,这就好办了,将上面的错误代码进行以下修改:

经过测试,代码完美运行,如果结果集为空,mysqli_num_rows()获取的行数就为0,注意,mysqli_num_rows()仅对select语句有效。

  • 版权声明: 发表于 2019年8月12日19:42:23
  • 转载注明:https://www.xiaorenjc.net/465.html

您必须才能发表评论!

评论:4   其中:访客  2   博主  2
    • 高兵 高兵 1

      小任啊 你咋个开始教PHP了啊