ThinkPHP中的SQL结果分析
ThinkPHP中的SQL结果分析
在进行结果判断时需要注意。
一、查询SQL:
可能出现的情况:
1、查询成功,返回正常数据。
2、查询成功,但是没有数据,返回NULL。
3、查询错误,写错关键字.结果:报错。例如把field()写成了filed()。
4、查询错误,写错字段名或表名,返回:false。例如把字段name写成了names。 总结:这里需要注意null和false,一个是确实没有符合要求的数据,而另一个是没有查到想要的数据表,
所以,不能用empty()函数,需要用is_null()或者全等===false来判断真假。
二、新增SQL:
可能出现的情况:
1、新增成功,返回新增数据的主键id。
2、新增失败,返回:false,例如写错表名字等。
3、新增失败,发生错误,例如:写错关键字、写错字段名、必需字段没有值等。 总结,新增的返回结果为真,就是执行成功了否则都是出错了。
三、更新SQL:
可能出现的情况:
1、更新成功,返回实际更新的条数。
2、更新成功,但是没有更新任何记录,返回int(0)。
3、更新错误,写错关键字,写错字段名.结果:报错。例如把setField单词写错成了setFileds()。
4、更新错误,写错表名,结果:false。 总结:更新也是需要区分false和0的问题。
四、删除SQL:
可能出现的情况:
1、删除成功,返回删除的条数,int类型,可能是0。
2、删除失败,返回:false,例如写错表名字等。
3、删除失败,发生错误,例如:写错关键字、写错字段名等。 总结:删除也是要区分false和0的区别。
ThinkPHP中的SQL结果分析的更多相关文章
- thinkPHP中_initialize方法实例分析
子类的_initialize方法自动调用父类的_initialize方法. 而php的构造函数construct,如果要调用父类的方法,必须在子类构造函数显示调用parent::__construct ...
- MySQL中的SQL流程分析简述
分析MySQL中这条语句的整个流程 update table_a set c1=xx where c2=xxx 朋友考我的一个问题在此处列出个人见解 1 客户端连接进来首先进行权限验证 2 验证通过后 ...
- 打印thinkphp中的sql语句
var_dump($repair->fetchSql(true)->where(array('cuername' =>$cuername))->order('applytime ...
- ThinkPHP<6.0 SQL注入代码审计分析
版本过多只分析大版本和使用人数较多的版本目前使用人数最多的3.2.3.审计时也是发现多个版本未公开漏洞 测试环境: Mysql5.6/PHP5.5 首先明确的是在不使用PDO做参数绑定时ThinkP ...
- thinkphp中AJAX返回ajaxReturn()方法分析
本文分析了thinkphp中AJAX返回ajaxReturn()方法.分享给大家供大家参考,具体如下: 系统支持任何的AJAX类库,Action类提供了ajaxReturn方法用于AJAX调用后返回数 ...
- Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?
Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?先上两种实现方式的实例:$querys["house_type_image"] ...
- 在 FastAdmin 中启动 ThinkPHP 5 的请求缓存分析
在 FastAdmin 中启动 ThinkPHP 5 的请求缓存分析 缓存的基础配置 ThinkPHP 5 中有一个请求缓存:1 'request_cache' => true, 'reques ...
- legend---十、thinkphp中如何进行原生sql操作
legend---十.thinkphp中如何进行原生sql操作 一.总结 一句话总结:query方法和execute方法 Db类支持原生SQL查询操作,主要包括下面两个方法: query方法 quer ...
- thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间)
thinkphp中view页面中的volist标签转化为原生php分析(多去看源代码,你会发现不仅简单,方便你理解,还节约时间) 一.总结 1.标签和原生php之间的关系:标签只是为了方便你使用,标签 ...
随机推荐
- 谈谈 UI 中, Padding 和 Margin 有什么区别?
android:padding 和 android:layout_margin 的区别,其实概念很简单,padding 是站在父 view 的角度描述问题,它规定它里面的内容必须与这个父 view 边 ...
- 请介绍下 adb、ddms、aapt 的作用
adb 是 Android Debug Bridge ,Android 调试桥的意思 ddms 是 Dalvik Debug Monitor Service,dalvik 调试监视服务. aapt 即 ...
- 并查集练习(0743) SWUST OJ
#include<iostream> #include<cstring> using namespace std; ]; int n,m,l,ci,di; int root(i ...
- Web03_JavaScript
案例一:使用JS完成注册页面表单校验 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- spring ehcache 缓存框架
一.简介 Ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案.同时ehcache ...
- Day05:访问控制 、 static和final
访问控制 package(包) 什么是包? 组织java文件的一个单位 为什么需要包? 将相关的java文件组织在一个包里 将项目中同名的类,方法在不同包中,不会冲突 注意: 包名全部小写,如果多个单 ...
- Win10无法安装.net framework 3.5出错提示无法安装以下功能该怎么办?
在Windows操作系统中,.NET Framewor对今天应用程序的成功提供了的安全解决方案,它能强化两个安全模型间的平衡.在提供对资源的访问,以便以完成有用的工作,对应用程序的安全性作细致的控制以 ...
- UML类图知识点整理
引用源:https://www.cnblogs.com/me115/p/4092632.html 从一个示例开始 请看以下这个类图,类之间的关系是我们需要关注的: 车的类图结构为<<abs ...
- [转帖]预警 | Linux 爆“SACK Panic”远程DoS漏洞,大量主机受影响
预警 | Linux 爆“SACK Panic”远程DoS漏洞,大量主机受影响 https://cloud.tencent.com/developer/article/1447879 所有的 版本 ...
- [转帖]Chrome 错误代码:ERR_UNSAFE_PORT
Chrome 错误代码:ERR_UNSAFE_PORT 2018年07月18日 09:07:50 孤舟听雨 阅读数 182 https://blog.csdn.net/u013043762/artic ...