用户名:暖微风
Ph**P与mysql这对问答黄金搭档配合的相当默契,但偶尔也会遇到一些小需求不知道该怎么做,例如今天要谈到的:如何判断sql语句查询的结果集是否为空!
我们以查询学生信息为例,来看看究竟如何实现我们的需求。
首先,来看看我们的**表“student”中所存储的**是个什么样子;
id stuname gender age grade class
1 张三 男 16 17 3
2 李四 男 15 18 2
3 王美丽 女 16 17怀损汉 5
接下来来看看sql的钢司绝局学满向们查询功能代码,我们要将年龄为16岁的学生信息都委聚又交威查出来;
<?php
$sql="select*from`student`where`age`='16';";
$rows=mysql_query($rs);
?>
<ul>
<?php
while($rows=mysql_fetch_array($注燃哥停石面值雨绿沿科rs)){
?>
<li>姓名:<?phpecho$rows['stuname'];技跑例断没是?></li>
<li>性别:<?phpecho$rows['gender'];?></拉著据到夫个眼li>
<li>年龄:<?phpe执女殖执cho$rows['age'];?></li>
<li>年级:<?phpecho$rows['grade'];?></li>
<li>班级:<?phpecho$rows['class'];?></li>
<?php
}
?>
</ul>
以上便是查询功能,当结果集不为空时,一切正常,当**集为空时,会得到一个空白的书友ul标签,
作为使用者却不知道为什么没有得到**,此时需要给用户一个提示信息,就需要判断这个结果集是否为空!
如何才能判断金批集些倒线怕仍半杨结果集是否为空呢,有下面两个方法:
<?php
$sql="select*from`student`where`age`='16';";
$rows=mysql_query($rs);
?>
<ul>
<?php
while($rows=mysql_fetch_ar么万点化受花风究ray($rs)){
?>
<li>姓名:<?phpecho$rows['stuname'];?></li>
<li>性别:<?phpecho$rows['g装细友阶额敌ender'];?></li>
<li>年龄:<?p以类压优远弱矿课银hpecho$rows['age'];?></li>
<li>年级:<?phpecho$rows['grade'];?></li>
<li>班级:<?phpecho$rows['class'];?></li>
<?php
}
?>
</ul>
知道了方法,那么把方法套到我们的倒望句有短创款代码中看看效果吧
//方法一
<?php
$sql="select*from`student`where`age`='16';";
$rows=mysql_query($rs);
?>
<ul>
<?php
if(mysql_**m_rows($rs)<1){
echo'查询无**!';
}else{
while($rows=m笑划料怀附往异格ysql_fetch_array($rs)){
?>
<li>姓洲名:<?phpecho$rows['stuname'];?></li>
<li>性别:<?p互待更价hpecho$rows['gender'];?></li>
<li>年龄:<?phpecho$row笔牛影出读标镇断养县周s['age'];?></li>
<l片慢田谁医调展领交初犯i>年级:<?phpecho$rows['grade'];?></li>
<li>班级:<?phpecho$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>姓名:<?phpecho$rows['stuname'];?></li>
<li>性别:<?phpecho$rows['gender'];?></li>
<li>年龄:<?phpecho$rows['age'];?></li>
<li>年级:<?phpecho$rows['grade'];?></li>
<li>班级:<?phpecho$rows['class'];?></li>
<?php
}
}else{
echo"查无**!";
}
?>
</ul>