thinkphp mysql修改数据_thinkphp 修改数据库数据不成功

public function update(){

$room=M('room');

// $room_id=$_GET['room_id'];

$room_id=$_POST['room_id'];

$roominfo['room_id']=$_POST['room_id'];

$roominfo['room_type']=$_POST['room_type'];

$roominfo['room_status']=$_POST['room_status'];

$roominfo['room_area']=$_POST['room_area'];

$roominfo['room_cost']=$_POST['room_cost'];

$roominfo['description']=$_POST['description'];

print_r($roominfo);

// $room->where("room_id=$room_id")->save($roominfo);

echo "";

// $this->redirect("showRoom");

}

我的修改函数代码如上,打印了$room_info对象的值,也确实是修改过的,但是为什么执行之后数据库的数据还是没有改变。请问这是为什么?

回复内容:

public function update(){

$room=M('room');

// $room_id=$_GET['room_id'];

$room_id=$_POST['room_id'];

$roominfo['room_id']=$_POST['room_id'];

$roominfo['room_type']=$_POST['room_type'];

$roominfo['room_status']=$_POST['room_status'];

$roominfo['room_area']=$_POST['room_area'];

$roominfo['room_cost']=$_POST['room_cost'];

$roominfo['description']=$_POST['description'];

print_r($roominfo);

// $room->where("room_id=$room_id")->save($roominfo);

echo "";

// $this->redirect("showRoom");

}

我的修改函数代码如上,打印了$room_info对象的值,也确实是修改过的,但是为什么执行之后数据库的数据还是没有改变。请问这是为什么?

// $room->where("room_id=$room_id")->save($roominfo);

前面的注释符号是不是要去掉。。。

另外 : "room_id=$room_id" ,楼主可以百度下sql注入。

M()->getLastsql()

看着应该是thinkphp,提几点意见。

不要直接用$_POST或者用$_Get,以防止SQL注入,应该用I函数。

调试sql应该用$obj->getLastsql()方法。

输出对象应用自带的dump函数。

确定代码没问题的话,也可能是你数据库问题,比如你的账号没有写权限,你操作的是读库,不能执行更新操作等,先排查下哪里问题吧

如果可能的话打印下M()->getLastsql()

如果你的room_id为表主键那么可以用以下代码

$roominfo['room_id']=$_POST['room_id'];

$roominfo['room_type']=$_POST['room_type'];

$roominfo['room_status']=$_POST['room_status'];

$roominfo['room_area']=$_POST['room_area'];

$roominfo['room_cost']=$_POST['room_cost'];

$roominfo['description']=$_POST['description'];

$room->save($roominfo);

$room->where("room_id=".$room_id)->save($roominfo);

把注视放开试试呢

在$room_id下面添加这句话:$roominfo = $room->getByID($room_id);

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值