【发布时间】:2014-06-09 08:05:11
【问题描述】:
我在 MySQL 中有一个 BINARY(40) 列,在那里我存储了 5 个 8 字节整数。我正在尝试在 PHP 中一一读取这些数字:
$result = mysqli_query($con,"SELECT data FROM list WHERE id=".$id);
$mysql_array = mysqli_fetch_array($result);
$list = str_split($mysql_array["data"], 8);
for($i = 0; $i < 5; $i++)
echo $list[$i]."<br/>";
打印的不是我期望的数字,而是奇怪的符号。如何将这些数字从二进制字符串转换为整数?
【问题讨论】:
-
你能显示打印的“奇怪符号”的输出吗?
-
显示代码如何存储整数。
-
@rink.attendant.6:一个接一个有很多'�'。
-
您在返回数字时将它们转换为字符串,您需要将它们转换回来,但除非您安装了 64 位 PHP,否则如果不使用将不会很容易处理计算的大数字库。
-
@Luka 空间真的如此受限以至于每行几个字节有那么重要吗?最后我检查了存储非常便宜。此外,这不是性能或存储的问题,而是正确性的问题。我对数据库有足够的经验,知道尝试将多个数据放在一列中几乎总是一个糟糕的想法,并且不可避免地会再次困扰您