php如何判斷SQL語句的查詢結果是否為空?


PHP與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>姓名:<?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>

 

以上便是查詢功能,當結果集不為空時,一切正常,當數據集為空時,會得到一個空白的ul標簽

作為使用者卻不知道為什么沒有得到數據,此時我們需要給用戶一個提示信息,那么我們就需要判斷這個結果集是否為空!

如何才能判斷結果集是否為空呢,有下面兩個方法:

<?php
//方法一 獲取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
$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>

OK,大功告成,現在查不到數據的時候就會有提示了哦!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM