php 判断SQL语句查询结果是否为空的解决办法

内容摘要
这篇文章主要为大家详细介绍了php 判断SQL语句查询结果是否为空的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记。PHP与mysql这
文章正文

这篇文章主要为大家详细介绍了php 判断SQL语句查询结果是否为空的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记。PHP与mysql这对黄金搭档配合的相当默契,但偶尔也会遇到一些小需求不知道该怎么做,例如今天要谈到的:如何判断sql语句查询的结果集是否为空!

我们以查询学生信息为例,来看看究竟如何实现我们的需求。

首先,来看看我们的数据表“student”中所存储的数据是个什么样子;

我们来看看sql查询功能代码,我们要将年龄为16岁的学生信息都查出来;php代码如下:

/**
 * @param 
 * @arrange (www.idcnote.com)
 **/
<?php
$sql = "select * from `student` where `age`='16';";
$rows = mysql_query($rs);
?>
<ul>
  <?php
    while($rows=mysql_fetch_array($rs)){
  ?>
    <li>姓名:<?php echo $rows['stuname'];?></li>
    <li>性别:<?php echo $rows['gender'];?></li>
    <li>年龄:<?php echo $rows['age'];?></li>
    <li>年级:<?php echo $rows['grade'];?></li>
    <li>班级:<?php echo $rows['class'];?></li>
  <?php
    }
  ?>
</ul>
// 来自:php教程(www.idcnote.com)
以上便是查询功能,当结果集不为空时,一切正常,当数据集为空时,会得到一个空白的ul标签,作为使用者却不知道为什么没有得到数据,此时我们需要给用户一个提示信息,那么我们就需要判断这个结果集是否为空!如何才能判断结果集是否为空呢,有下面两个方法:php代码如下:

/**
 * @param 
 * @arrange (www.idcnote.com)
 **/
//方法一 获取select结果集的行数
$rows=mysql_query("select * from `student` where `age`='16';");
if (mysql_num_rows($rows) < 1){
echo '查询无数据!';
}

//方法二 返回上一次操作受影响的行数
$rows=mysql_query("select * from `student` where `age`='16';");
if(!mysql_affected_rows()){
  echo '查询无数据!';
}

// 来自:php教程(www.idcnote.com)
知道了方法,那么把方法套到我们的代码中看看效果吧php代码如下:

/**
 * @param 
 * @arrange (www.idcnote.com)
 **/
//方法一
<?php
$sql = "select * from `student` where `age`='16';";
$rows = mysql_query($rs);
?>
<ul>
  <?php
  if (mysql_num_rows($rs) < 1){
    echo '查询无数据!';
  }else{
    while($rows=mysql_fetch_array($rs)){
  ?>
    <li>姓名:<?php echo $rows['stuname'];?></li>
    <li>性别:<?php echo $rows['gender'];?></li>
    <li>年龄:<?php echo $rows['age'];?></li>
    <li>年级:<?php echo $rows['grade'];?></li>
    <li>班级:<?php echo $rows['class'];?></li>
  <?php
    }
  }
  ?>
</ul>

//方法二
<?php
$sql = "select * from `student` where `age`='16';";
$rows = mysql_query($rs);
?>
<ul>
  <?php
  if(mysql_affected_rows()){
    while ($rows=mysql_fetch_assoc($rs)){
  ?>
    <li>姓名:<?php echo $rows['stuname'];?></li>
    <li>性别:<?php echo $rows['gender'];?></li>
    <li>年龄:<?php echo $rows['age'];?></li>
    <li>年级:<?php echo $rows['grade'];?></li>
    <li>班级:<?php echo $rows['class'];?></li>
  <?php
    }
  }else {
    echo "查无数据!";
  }
  ?>
</ul>
// 来自:php教程(www.idcnote.com)

注:关于php 判断SQL语句查询结果是否为空的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!