回覆列表
  • 1 # YAO大神

    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,大功告成,現在查不到資料的時候就會有提示了哦!

    分類: Web design

  • 中秋節和大豐收的關聯?
  • 吸菸是如何一步步引發鼻炎的?