thinkphp怎么判斷查詢結(jié)果的是否有數(shù)據(jù)

在使用thinkphp框架進(jìn)行數(shù)據(jù)操作時(shí),我們常常需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查詢。無論是使用orm的方式進(jìn)行查詢還是手寫sql語句查詢,對于開發(fā)者而言,判斷查詢的結(jié)果是否存在以及如何對查詢結(jié)果進(jìn)行處理都是必不可少的知識點(diǎn)。本文主要講述如何使用thinkphp框架對查詢結(jié)果進(jìn)行判斷。

一、使用ORM進(jìn)行查詢

用于進(jìn)行ORM操作的ThinkPHP框架提供了豐富的方法來進(jìn)行查詢操作。而在這些操作中,我們最常用到的方法便是select方法和find方法。其中,select方法返回一個(gè)結(jié)果集合,find方法則返回一條結(jié)果記錄。在查詢無結(jié)果的情況下,兩者返回的結(jié)果都是空數(shù)組或NULL值。下面我們以示例代碼演示如何進(jìn)行判斷。

  1. select方法查詢
// 查詢student表中所有年齡小于18歲的學(xué)生信息 $map['age'] = ['lt', 18]; $res = Db::name('student')->where($map)->select();  if($res){ // 判斷結(jié)果集是否存在     foreach($res as $row){         // 存在結(jié)果,對查詢結(jié)果進(jìn)行處理         echo $row['name'].'的年齡是'.$row['age'].'歲'.'<br>';     } }else{     // 無結(jié)果,給出提示信息     echo '很遺憾,沒有找到符合條件的學(xué)生列表'; }
  1. find方法查詢
// 查詢student表中年齡為21歲的學(xué)生信息 $map['age'] = 21; $res = Db::name('student')->where($map)->find();  if($res){ // 判斷結(jié)果記錄是否存在     // 存在結(jié)果,對查詢結(jié)果進(jìn)行處理     echo $res['name'].'的年齡是'.$res['age'].'歲'.'<br>'; }else{     // 無結(jié)果,給出提示信息     echo '很遺憾,沒有找到符合條件的學(xué)生記錄'; }

二、使用SQL查詢

對于對SQL語句操作比較熟悉的開發(fā)者而言,手寫查詢語句肯定是一個(gè)不錯(cuò)的選擇。而在進(jìn)行手寫查詢時(shí),我們可以通過fetch方法和fetchColumn方法分別獲取結(jié)果集和結(jié)果記錄信息。下面我們以示例代碼演示如何進(jìn)行判斷。

立即學(xué)習(xí)PHP免費(fèi)學(xué)習(xí)筆記(深入)”;

  1. fetch方法查詢
// 查詢student表中所有性別為男性的學(xué)生信息 $sql = "SELECT * FROM student WHERE gender='male'"; $res = Db::query($sql);  if($res){ // 判斷結(jié)果集是否存在     foreach($res as $row){         // 存在結(jié)果,對查詢結(jié)果進(jìn)行處理         echo $row['name'].'的性別是'.$row['gender'].'<br>';     } }else{     // 無結(jié)果,給出提示信息     echo '很遺憾,沒有找到符合條件的學(xué)生列表'; }
  1. fetchColumn方法查詢
// 查詢student表中姓名為張三的學(xué)生ID $sql = "SELECT id FROM student WHERE name='張三'"; $res = Db::query($sql);  if($res){ // 判斷結(jié)果集是否存在     // 存在結(jié)果,對查詢結(jié)果進(jìn)行處理     echo '張三的學(xué)生ID是:'.$res[0]['id']; }else{     // 無結(jié)果,給出提示信息     echo '很遺憾,沒有找到符合條件的學(xué)生記錄'; }

三、小結(jié)

通過對ORM和SQL查詢方法的使用進(jìn)行了說明,我們可以看出,在這些方法中,對查詢結(jié)果的判斷、處理和輸出都是一個(gè)很重要的環(huán)節(jié)。只有對查詢結(jié)果進(jìn)行判斷,我們才能根據(jù)查詢結(jié)果進(jìn)行后續(xù)的操作。因此,建議開發(fā)者們在進(jìn)行數(shù)據(jù)操作時(shí),一定要重視結(jié)果集和結(jié)果記錄的判斷處理。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊10 分享