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之间的关系:标签只是为了方便你使用,标签 ...
随机推荐
- leetcode 172. Factorial Trailing Zeroes(阶乘的末尾有多少个0)
数字的末尾为0实际上就是乘以了10,20.30.40其实本质上都是10,只不过是10的倍数.10只能通过2*5来获得,但是2的个数众多,用作判断不准确. 以20的阶乘为例子,造成末尾为0的数字其实就是 ...
- [VBA]合并工作簿优化版
Sub 合并工作簿数据()Dim arrDim i As Integer, j As Integer, x As IntegerDim f As String, m As String, n As S ...
- PowerDesigner 入门使用
<转载于--https://www.cnblogs.com/biehongli/p/6025954.html> PowerDesigner最基础的使用方法入门学习 1:入门级使用Pow ...
- 阶段3 2.Spring_03.Spring的 IOC 和 DI_10 构造函数注入
在AccountServiceImpl内定义三个属性 这里关注点是这几种类型.基本类型的包装类Integer 还有String类型,也包含了其他bean类型.Date 定义构造函数并赋值 重点关注在数 ...
- Elasticsearch 6.2.3版本 filtered 报错问题 no [query] registered for [filtered]
背景描述 近期在学习<Elasticsearch 权威指南>上的一些基本命令,在操作到 filtered 进行过滤查询的时候,报错 “no [query] registered for [ ...
- 使用IDEA工具创建本地项目并且上传到码云
需要条件: 1.码云/Github建好的git项目 2.IDEA编辑器 3.本地项目 步骤1:创建远程项目 步骤2:复制远程项目地址 注意:此处码云官方已经给出上传项目方法,不过用的是命令行的形式, ...
- jdbc简单连接oracle数据库
package com.shangsheng; import java.sql.*; public class UserOracle { public static void main(String[ ...
- RTX和谐说明
1.下载安装原版RTX20152.打开“服务”,停止RTX开头的服务.3.替换C:\Program Files\Tencent\RTXServer\License目录下的License.ini文件:替 ...
- WebSocket-Node
WebSocket Client & Server Implementation for Node 参考资料:[https://github.com/theturtle32/WebSocket ...
- ugui多层解决方案
创建不同的相机图层以渲染事物(最佳实践解决方案) 链接:https://answers.unity.com/questions/1169898/hi-guys-i-need-some-help-wit ...