
正文
phpbit数据类型 php的基本数据类型
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
mysql用C++开发获取bit类型字段值方法
最近开发要用一个标志数据,就选择了mysql的BIT(1)数据类型,默认想着是整数类型的范畴,按整数数值来处理,结果不行,遇到了问题,这里整理给大家。
问题表现,用常用的办法获取到的字符是个方块,方块转布尔类型,根本转不了,值是错误的。普通的整数转换代码如下:
用上面的代码转换atoi转的是个方块,得不到数据库里的值,但是用mysql的客户端workbench正常没问题。
认真分析了取值用到的数组类型情况,用以下代码解决了问题:
上面代码对应的mysql是phpstudy里mysql 5.5.38版本,其它版本是不是这样不太确定。
另外可以用CAST进行数据类型转换,比如:
但这样写sql语句麻烦,不如直接用字段名方便,但改sql语句和改C++取值代码,看个人喜好,都可以解决问题。
整体代码如下:
如果需要这一套开发环境,也可以联系我,VS2010,MFC,mysql连接库,构造连接字符串,连接,执行sql语句,返回结果。
相关问答
Q1: 请教PHP怎么读取BIT类型的数据
echo就可以的。
if($rs-bit == chr(0))
{
echo '0';
}
else
{
echo '1';
}
Q2: php里tinyint(1)为什么还能插入99这个值?
在MySQL的数据类型中,Tinyint的取值范围是:带符号的范围是-128到127。无符号的范围是0到255
Tinyint占用1字节的存储空间,即8位(bit)
Q3: php读取mysql中bit类型数据
可能,操作系统不一样也出现这种情况,你试试在select 时用 select bitField+0 from table ,我的问题是这样解决的







