我有一个这样的表:
// numbers
+---------+------------+
| id | numb |
+---------+------------+
| int(11) | bit(10) |
+---------+------------+
| 1 | 0000000001 |
| 2 | 0000000101 |
| 3 | 0000000000 |
| 4 | 0000001011 |
+---------+------------+
当我获取 numb
列时,结果将是这样的:
// Query
mysql> SELECT numb FROM numbers WHERE id = 2
// Fetching by PHP (pdo)
$result = $stm->fetch();
$numb = $result['numb'];
echo $numb;
//=> 5
如您所见,最终结果是5
。虽然我想获取字符串形式的确切值,例如 0000000101
。我该怎么做?
最佳答案
<?php
$numb = 5;
echo sprintf("%010d",decbin($numb));
输出:
0000000101
来自您的评论:
12 - 0000001100
26 - 0000011010
更新1:
您可以像这样分配给 $numb
变量:
$numb = sprintf("%010d",decbin($result['numb']));
关于php - 如何以二进制形式获取 BIT(...) 数据类型列的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37107776/