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

修改表中的某个字段,字段属性varchar100,如果修改的值是字符串写到数据库里的就变成0.如果是纯数字就可以。$x['name']='aa123';$g->where... 修改表中的某个字段,字段属性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方法改这个字段会出这问题,有谁知道原因出在哪
展开
 我来答
redNOKIA3000
推荐于2018-01-20 · TA获得超过113个赞
知道小有建树答主
回答量:189
采纳率:100%
帮助的人:83.3万
展开全部
是不是字符串有 int 或者float 开头了 比如 interesting internal 之类的
boremy
2016-08-12 · TA获得超过770个赞
知道小有建树答主
回答量:1062
采纳率:0%
帮助的人:587万
展开全部
再检查下你的数据表。按你说的情况99%还是它的问题
追问
表的字段信息都是一样,我同时加的有3个字段都是var char 100 字符集也一样,唯独这个字段更新有这问题,其他2个更新都正常。我目前这个字段单独用exectue方法更新,暂时先这么用
追答
你看看是不是在哪把这个数据转成了int类型啊,
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式