您的位置:首页 > 编程语言 > PHP开发

关于thinkphp的save小错误

2015-07-21 12:09 549 查看
在使用tp框架时,如果不注意许多细小细节将会导致出错,比如数据更新的save方法,一不小心就会载了个大跟头。

在几个星期前,我一时兴起,用thinkphp随手写了个更新数据的表单,用于用户更新自己的数据以及资料,用的就是thinkphp的save更新方法,就像平常一样,写完之后,开始了测试,改数据,改数据,成功,都成功,就在我打算关掉编辑器的时候,随手,点了一下确定按钮(此时,我的页面是没有更改原始数据的),于是,非常悲催的,失败了,于是我认真检查了所有流程,但最后的结果是,我的流程没错,错的是判断是否更新成功的那一部分,因为,tp

框架的save方法,最后返回的并不只是true与false,而是影响的行数与false,没有true,有的人说,行数转换一下不就有true了吗?那么像我上面所做的那样,不改变原始数据,直接提交更新,那么影响的行数为0,转换之后岂不是false了,这算是更新失败吗?

因此,判断是否更新成功,应该使用恒等于或恒不等于来判断,而不只是单纯的判断是否为真,是否为假。

还有一个,为了避免出错更新了整个数据表的所有数据,若没有任何更新条件(where),或更新数据对象不包含主键字段的话,save不会更新任何数据库的记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: