Thinkphp3.2 save方法可以添加数据 *** 作吗

Thinkphp3.2 save方法可以添加数据 *** 作吗,第1张

方式很多,例如 $data = $_POST$User = M('User')$User->save($data)或者 $User = M('User')$User->create()$User->save()要具体方式具体分析,总得来说,流程就是接受浏览器POST来的数据,然后调用模型的save方法来更新

创建一个thinkphp 项目tp,如下图,其中index.php为入口文件,App为项目文件夹

在App/Conf下的config.php中,配置数据库连接

在数据库中创建表qq_game,add  写入(新增)数据到数据库,语法如下,返回值是插入数据的主键值ID

在App/Lib/Action下的IndexAction.class.php中,创建函数addGame,将数据插入数据表,如下:

添加 *** 作,也可以使用连贯 *** 作,即将上图代码最后两行换为下图,即可显示:

在ThinkPHP中使用save方法根据条件更新数据到数据库。

用法 save($data='',$options=array())

参数 data:要保存的数据,如果为空,则取当前的数据对象;options:为数组的时候表示 *** 作表达式,通常由连贯 *** 作完成;为数字或者字符串的时候表示主键值。默认为空数组。

返回值:如果查询错误或者数据非法返回false,如果更新成功返回影响的记录数

$User = M("User") // 实例化User对象

 // 要修改的数据对象属性赋值

$data['name'] = 'ThinkPHP'

$data['email'] = 'ThinkPHP@gmail.com'

$User->where('id=5')->save($data) // 根据条件保存修改的数据

为了保证数据库的安全,避免出错更新整个数据表,如果没有任何更新条件,数据对象本身也不包含主键字段的话,save方法不会更新任何数据库的记录。

因此下面的代码不会更改数据库的任何记录

$User->save($data)

除非使用下面的方式:

$User = M("User") // 实例化User对象

 // 要修改的数据对象属性赋值

$data['id'] = 5

$data['name'] = 'ThinkPHP'

$data['email'] = 'ThinkPHP@gmail.com'

$User->save($data) // 根据条件保存修改的数据

如果id是数据表的主键的话,系统自动会把主键的值作为更新条件来更新其他字段的值。

还有一种方法是通过create或者data方法创建要更新的数据对象,然后进行保存 *** 作,这样save方法的参数可以不需要传入。

$User = M("User") // 实例化User对象

 // 要修改的数据对象属性赋值

$data['name'] = 'ThinkPHP'

$data['email'] = 'ThinkPHP@gmail.com'

$User->where('id=5')->data($data)->save() // 根据条件保存修改的数据

使用create方法的例子:

$User = M("User") // 实例化User对象

 // 根据表单提交的POST数据创建数据对象

$User->create()

$User->save() // 根据条件保存修改的数据


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11337657.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存