2 gaoyinkai0124 gaoyinkai0124 于 2014.12.05 10:43 提问

thinkphp修改bit类型表数据,只能从0修改成1,不能从1修改成0

如题,tp3.2.2版本,用tp修改User表数据时,sex字段用bit类型,0代表女,1代表男,页面用radio类型单选框,在修改页面能够获取数据库中的数据并显示,但在修改时,只能从女修改成男,不能从男修改成女。前者提示修改成功,数据库中数据也更新,后者提示失败,数据库中数据不更新

2个回答

ederson520
ederson520   2015.02.12 13:24

$sex='0';
$data['sex']=(bool)$sex;
$M->save($data);

ederson520
ederson520   2015.02.12 13:24

$sex='0';
$data['sex']=(bool)$sex;
$M->save($data);

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Mybaits更新数据1不可修改为0的问题
今天遇到一件诡异的事情,修改数据从0到1的时候没有问题,但是从1到0的时候提示成功了,但是总是没有效果。 分析如下: a.从0到1到2没有问题,说明代码逻辑没有什么问题                    b.从2到1没有问题,证明上述观点没有问题                    c.从1到0没有效果                    并且debug到在保存数据之前,数据也是没
#1326 : 有序01字符串
1326 : 有序01字符串时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 对于一个01字符串,你每次可以将一个0修改成1,或者将一个1修改成0。那么,你最少需要修改多少次才能把一个01串 S 变为有序01字符串(有序01字符串是指满足所有0在所有1之前的01串)呢?输入 第一行是一个整数 T,代表测试数据的组数。(1 ≤ T ≤ 10)以下T行每行包含一个0
有序01字符串(hihocoder164周)
问题描述 对于一个01字符串,你每次可以将一个0修改成1,或者将一个1修改成0。那么,你最少需要修改多少次才能把一个01串 S 变为有序01字符串(有序01字符串是指满足所有0在所有1之前的01串)呢? 输入 第一行是一个整数 T,代表测试数据的组数。(1 ≤ T ≤ 10) 以下T行每行包含一个01串 S 。(1 ≤ |S| ≤ 1000) 输出 对于每组测试数据输出最少需要
MySQL中bit类型修改报错解决
bit类型在数据库中存储为0/1,或为false/true; 查询的时候 bit类型可以写为 0,1,true,false,或带单引号; 在实体映射中bit类型映射为Boolean类型; 在修改时:sql中bit类型字段加了单引号时就会报错:Data long 字段名 的错误; 这个时候我们要写为 0 或 1 不加引号就没有问题了
更改字段类型-将Number修改成varchar2类型
实际开发中,添加字段,更改字段类型是常有的事,最近碰到的是数据库中有一个字段ABWORKBYRARATE ,类型为Number(10,5),需要改成字符串类型varchar2(30),而且表中已经有很多数据了,直接改报错,改不了。 解决方案如下: 1. 重命名原字段 alter table CDS_IMPORT_FORWARDCHARGE rename column ABWORKBYRARA
SQL修改指定数据库的表数据类型【如将表中所有varchar类型修改为nvarchar】
declare @num int,@tableName varchar(50),@columnName varchar(50), @typeName varchar(50),@max_length int,@str varchar(500) = '' declare cur_table cursor for with cte(num,tableName,columnName,typeNam
mybatis修改int型数据无法修改成0
今天遇到一个很奇葩的问题,修改user实体里面的一个int型的状态量1.2.3........都可以修改成功,唯独参数为0时修改不成功,控制台也没有报错,一切正常。项目用的是ssm框架。最后找到问题是出在mybatis的mapper.xml里了。场景如下:  修改status的值,0为禁用,1为启用。当传入的值为0时,就会修改失败。过程如下:这是mybatis更新语句中的修改状态量部分,查阅资料后...
char修改成varchar2
说明:mw_app.a表中字段b ,类型char(20),原来表中有很多数据,现在要把b字段修改成varchar2(10)类型,并且原来表中的数据要保存。 直接通过alter table mw_app.a modify b varchar2(10);是不可以的,因为字段长度由20减为了10,但可以通过中间字段实现。   操作: 1、将表中的字段b修改成b_back
#1692 : 第K小分数
时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定N个不同的质数P1, P2, … PN。用它们作为分目可以组成(P1-1) + (P2-1) + … (PN-1)个分数: 1/P1, 2/P1, 3/P1, …, P1-1/P1, 1/P2, 2/P2, 3/P2, … P2-1/P2, … 1/PN, 2/PN, … PN-1/PN 请帮助小Ho...
snmp 修改默认 127.0.0.1 地址为 0.0.0.0
RHEL5, 6 使用 snmpd 时, 默认启动服务只监听 127.0.0.1:199 可通过下面方法更改监听需求 /etc/snmp/snmpd.conf smuxsocket 0.0.0.0:199   重启服务则可