ThinkPHP3.2.3下使用create函数更新数据安全使用方法

一般最常用写法:

M(‘数据库名称‘)->create();  //这种情况都是靠系统去判断的,有时准,有时不准,然后很多童鞋就蛋疼了

规范写法:

①:通过POST方式接收的数据,且将接收的数据插入到数据库

M(‘数据库名称‘)->create($_POST,1);

②:通过GET方式接收的数据,且将接收的数据插入到数据库

M(‘数据库名称‘)->create($_GET,1);

③:通过POST方式接收的数据,且将接收的数据更新到数据库

M(‘数据库名称‘)->create($_POST,2);

④:通过GET方式接收的数据,且将接收的数据更新到数据库

M(‘数据库名称‘)->create($_GET,2);

TP源码:

/**
     * 创建数据对象 但不保存到数据库
     * @access public
     * @param mixed $data 创建数据
     * @param string $type 状态
     *    // 状态
     *    $type = $type?:(!empty($data[$this->getPk()])?self::MODEL_UPDATE:self::MODEL_INSERT);
     * @return mixed
     */
     function create($data=‘‘,$type=‘‘) 
     
     // 操作状态
    const MODEL_INSERT          =   1;      //  插入模型数据
    const MODEL_UPDATE          =   2;      //  更新模型数据

更多详情参考:http://blog.csdn.net/df981011512/article/details/52912289

时间: 2024-11-02 04:21:06

ThinkPHP3.2.3下使用create函数更新数据安全使用方法的相关文章

thinkphp3.2.2版本,公共函数放哪里才能自动加载?

在原来的项目里面有个common/common.php, 里面放的就是些function,之前能在任何地方直接使用, 现在报错不能使用, 公用函数库文件放置在Application应用模块根目录下的Common模块下的Common目录下即可(./Application/Common/Common/function.php),其他模块直接调用该公用函数文件的函数,命名空间都不需要 thinkphp3.2.2版本,公共函数放哪里才能自动加载?,布布扣,bubuko.com

Delphi下的RTTI函数大全

http://ljz9425.blog.163.com/blog/static/369148572008111635253858/ Delphi下的RTTI(下) 2008-12-16 15:52:53|  分类: Delphi |字号 订阅目 录===============================================================================⊙ GetTypeData 函数⊙ GetPropInfo 函数⊙ FindPropInfo

简单介绍下python中函数的基础语法

python 函数 定义 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 特性 减少代码重复 使程序变得可扩展 使程序变得易于维护 函数的创建 python中创建函数,需要使用__def__关键字,后面写函数的名字,然后是形参列表,大体如下: def 函数名(形参列表): 函数体...... return 返回值 其中形参列表和 return返回值并不是必须的. 函数的使用 想要调用函数程序,需要以函数名加括号的形式进行调用,而括号内可以传入参数

CButton类的Create函数用法

通过查阅MSDN文档可知,Create函数的参数含义如下: virtual BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID ); lpszCaption 指定按钮控件的文本. dwStyle 指定按钮控件的样式. 适用于按钮样式的任意组合按钮. rect 指定按钮控件的大小和位置. 它可以是 CRect 对象或 RECT 结构. pParentWnd 指定按

linux下转格式函数iconv段错误

今天将windows代码移植到Linux下,其中用到了Unicode转char的函数,被坑了一会,相关函数及编码格式,Linux与windows不同,有几点需要注意: 1.wchar_t 在Linux下占用4个字节,在windows下占2个字节: 2.Linux默认的文本编码方式是UTF-8:Linux终端汉字显示的设置方式:vi /etc/sysconfig/i18n: 设置LANG="en_US.UTF-8"或者LANG="zh_CN.UTF-8": 3.ico

CI框架下的get_instance() 函数

你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用多少次都不会消耗资源的.一般来说,只有在helper或library中才使用get_instance. 以前我们都是这样用的:$this->load->library('session'); $this只作用在你自己的控制器.模型.视图中,如果你在自定义的类中也想使用CI的函数话,你就可以这样做:

CImageList类Create函数参数解析

前面提到了CImageList类的Create(...)函数,虽然MSDN上已经有所解释,但仍有网友问到参数的具体含义,下面就我的理解,对参数进行一次轻量级的剖析 函数原型(其他重载函数请参看msdn):   BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow ); cx ,cy: 图片的实际像素宽与高,没有问题 nFlags:创建图像列表的类型,包括4/8/16/24/32/位色, nInitial : 创建Ima

linux下的信号处理函数总结

1.信号处理函数 相关函数原型如下: #include <signal.h> sighandler_t signal(int signum, sighandler_t handler); 第一参数是信号 第二个参数是信号处理器:             1.可以是SIG_DFL,信号的默认动作             2. 可以是SIG_IGN,忽略该信号             3. 一个带有一个整型参数的处理函数. #include <signal.h> int sigacti

在Debug模式下中断, 在Release模式下跳出当前函数的断言

在Debug模式下中断, 在Release模式下跳出当前函数的断言 #ifdef DEBUG #define __breakPoint_on_debug asm("int3") #else #define __breakPoint_on_debug #endif // 验证 #define UXY_ASSERT_RETURN_ON_RELEASE( __condition, __desc, ... ) \ metamacro_if_eq(0, metamacro_argcount(__