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>
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>
}
</ul>
以上便是查詢功能,當結果集不為空時,一切正常,當資料集為空時,會得到一個空白的ul標籤,
作為使用者卻不知道為什麼沒有得到資料,此時我們需要給使用者一個提示資訊,那麼我們就需要判斷這個結果集是否為空!
如何才能判斷結果集是否為空呢,有下面兩個方法:
//方法一 獲取select結果集的行數
$rows=mysql_query("select * from `student` where `age`="16";");
if (mysql_num_rows($rows) < 1){
echo "查詢無資料!";
//方法二 返回上一次操作受影響的行數
if(!mysql_affected_rows()){
知道了方法,那麼把方法套到我們的程式碼中看看效果吧
//方法一
if (mysql_num_rows($rs) < 1){
}else{
//方法二
if(mysql_affected_rows()){
while ($rows=mysql_fetch_assoc($rs)){
}else {
echo "查無資料!";
OK,大功告成,現在查不到資料的時候就會有提示了哦!
分類: Web design
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