小编ZZ-*_*-bb的帖子

MySQL选择位(1)显示为字符串(3)

我有一个包含列的表bit(1)和以下查询:SELECT my_bit FROM my_table.

当我echophp页面上显示结果时,该值显示为string(3) %qu 列上的位值是0还是1.这怎么可能?

以下查询解决echoing了网页上的问题:SELECT CAST(my_bit AS UNSIGNED) AS my_bit FROM my_table.

但是,上述两个查询都适用于命令行工具.不,string(3)那里.

选择数据时一切正常,两者之间没有区别

  1. SELECT*FROM my_table WHERE my_bit = 0
  2. SELECT*FROM my_table WHERE my_bit =(0)

使用命令行工具或Web界面php页面时.(这里建议使用后者.)Echoing必须使用CAST函数完成,但WHERE不受parentehis的影响:返回正确的行.

主要问题

  1. 为什么返回的bit类型值是否echoed相同,string无论bit值是0还是1?
  2. 使用bit(1)类型列插入/选择数据时是否有任何特殊问题需要考虑?(快速测试表明一切都按预期工作:0插入0和1插入1,但我可能会遗漏一些东西.)

我正在使用MAMP在本地测试:PHP 5.3.2和MySQL 5.1.44.命令行工具是指Sequel Pro(不是MAMP的PhpAdmin).Php页面utf-8和查询使用SET NAMES 'utf8'. …

php mysql bit

4
推荐指数
1
解决办法
7990
查看次数

标签 统计

bit ×1

mysql ×1

php ×1