thinkphp 的save 方法修改异常,字符串都变为0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 的save 方法修改异常,字符串都变为0相关的知识,希望对你有一定的参考价值。

修改表中的某个字段,字段属性varchar 100 ,如果修改的值是字符串写到数据库里的就变成0.如果是纯数字就可以。
$x['name']='aa123';
$g->where('id=1')->save($x);name字段就变成0.
$x['name']=123或者'123'都可以写入,有字符串打头的就会变为0,但是同样的代码对其他字段进行更改又是正常的。不知道是什么原因,用fetchsql(true)打印出来的sql语句是正确的,语句直接在mysql里运行也能正常修改,甚至用excute()方法可以正常改,唯独save方法改这个字段会出这问题,有谁知道原因出在哪

是不是字符串有 int 或者float 开头了 比如 interesting internal 之类的 参考技术A 再检查下你的数据表。按你说的情况99%还是它的问题追问

表的字段信息都是一样,我同时加的有3个字段都是var char 100 字符集也一样,唯独这个字段更新有这问题,其他2个更新都正常。我目前这个字段单独用exectue方法更新,暂时先这么用

追答

你看看是不是在哪把这个数据转成了int类型啊,

本回答被提问者采纳

thinkphp模版异常

thinkphp中用了同一个模版的两个页面,本来是中间对齐,由不同方法打开但是有一个却向左偏移了~~
火狐下完美····

参考技术A 方法里面有没有对css效果做特殊处理的,或者是浏览器兼容问题吧!

以上是关于thinkphp 的save 方法修改异常,字符串都变为0的主要内容,如果未能解决你的问题,请参考以下文章

总结ThinkPHP使用技巧经验分享

ThinkPHP 数据更新

thinkphp add()和save()执行完毕,有返回值,但是数据库并未有修改

thinkphp3.2.3 修改怎么写

thinkphp update更新数据问题

ThinkPHP add save delete的返回说明