ThinkPHP数据库更新丢失字段


例如

$d=I('post.d'); // $d['a']=3;$d['b']=5;

//dump($d);
M('you_table')->where('id=2')->save($d);

//dump($d);
dump(M()->getLastSql());

// UPDATE `you_table` set b='5' where id=2;

调试运行会发现SQL语句中 没有 set a=3,而 $d['a'] 并没有消失,也没有任何 unset($d['a']) 的操作。


进入 Model.class.php 文件找到 function save($data='',$options=array()),设置dump($data)调试,

发现没有出现预期结果。


解决方法:

删除 /Aplication/Runtime 文件夹,清空浏览器缓存。

然后一切正常。



联系客服:客服 客服 客服
0.551204s