在使用thinkphp框架进行数据操作时,我们常常需要对数据库中的数据进行查询。无论是使用orm的方式进行查询还是手写sql语句查询,对于开发者而言,判断查询的结果是否存在以及如何对查询结果进行处理都是必不可少的知识点。本文主要讲述如何使用thinkphp框架对查询结果进行判断。
一、使用ORM进行查询
用于进行ORM操作的ThinkPHP框架提供了丰富的方法来进行查询操作。而在这些操作中,我们最常用到的方法便是select方法和find方法。其中,select方法返回一个结果集合,find方法则返回一条结果记录。在查询无结果的情况下,两者返回的结果都是空数组或null值。下面我们以示例代码演示如何进行判断。
// 查询student表中所有年龄小于18岁的学生信息 $map['age'] = ['lt', 18]; $res = Db::name('student')->where($map)->select(); if($res){ // 判断结果集是否存在 foreach($res as $row){ // 存在结果,对查询结果进行处理 echo $row['name'].'的年龄是'.$row['age'].'岁'.'<br>'; } }else{ // 无结果,给出提示信息 echo '很遗憾,没有找到符合条件的学生列表'; }
// 查询student表中年龄为21岁的学生信息 $map['age'] = 21; $res = Db::name('student')->where($map)->find(); if($res){ // 判断结果记录是否存在 // 存在结果,对查询结果进行处理 echo $res['name'].'的年龄是'.$res['age'].'岁'.'<br>'; }else{ // 无结果,给出提示信息 echo '很遗憾,没有找到符合条件的学生记录'; }
二、使用SQL查询
对于对SQL语句操作比较熟悉的开发者而言,手写查询语句肯定是一个不错的选择。而在进行手写查询时,我们可以通过fetch方法和fetchColumn方法分别获取结果集和结果记录信息。下面我们以示例代码演示如何进行判断。
立即学习“PHP免费学习笔记(深入)”;
// 查询student表中所有性别为男性的学生信息 $sql = "SELECT * FROM student WHERE gender='male'"; $res = Db::query($sql); if($res){ // 判断结果集是否存在 foreach($res as $row){ // 存在结果,对查询结果进行处理 echo $row['name'].'的性别是'.$row['gender'].'<br>'; } }else{ // 无结果,给出提示信息 echo '很遗憾,没有找到符合条件的学生列表'; }
// 查询student表中姓名为张三的学生ID $sql = "SELECT id FROM student WHERE name='张三'"; $res = Db::query($sql); if($res){ // 判断结果集是否存在 // 存在结果,对查询结果进行处理 echo '张三的学生ID是:'.$res[0]['id']; }else{ // 无结果,给出提示信息 echo '很遗憾,没有找到符合条件的学生记录'; }
三、小结
通过对ORM和SQL查询方法的使用进行了说明,我们可以看出,在这些方法中,对查询结果的判断、处理和输出都是一个很重要的环节。只有对查询结果进行判断,我们才能根据查询结果进行后续的操作。因此,建议开发者们在进行数据操作时,一定要重视结果集和结果记录的判断处理。