本文目录一览:
thinkphp中save函数的意思和用法?
在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(); // 根据条件保存修改的数据
thinkphp save更新数据问题
方式很多,例如
$data = $_POST;
$User = M('User');
$User-save($data);
或者
$User = M('User');
$User-create();
$User-save();
要具体方式具体分析,总得来说,流程就是接受浏览器POST来的数据,然后调用模型的save方法来更新,或者直接使用create方法来接受并初始化POST过来的数据。但需要注意的是,数据库里需要已存在这条数据。这些基本的方法你可以去参考开发手册。-thinkphp中save
如果你是这么做的但仍然不行,那么你可以使用模型的getLastSql()方法来查看模型到底是执行了什么样的SQL语句,然后自己看看SQL语句是否有问题,以便排查自己的错误
thinkphp save怎么更新不了数据呢;
方式很多,例如
$data = $_POST;
$User = M('User');
$User-save($data);
或者
$User = M('User');
$User-create();
$User-save();
要具体方式具体分析,总得来说,流程就是接受浏览器POST来的数据,然后调用模型的save方法来更新,或者直接使用create方法来接受并初始化POST过来的数据。但需要注意的是,数据库里需要已存在这条数据。这些基本的方法你可以去参考开发手册。-thinkphp中save
如果你是这么做的但仍然不行,那么你可以使用模型的getLastSql()方法来查看模型到底是执行了什么样的SQL语句,然后自己看看SQL语句是否有问题,以便排查自己的错误
ThinkPHP save() 方法
所以你更改的数值需要从页面提交过去的啊,假设你的前台页面有一个输入框,让填写需要修改的值
input type="text" name="email" /
后台代码就获取这个值,也就是
$data['email'] = I("email"); // 原来的$data['email'] = 'Jack@163.com';