Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 转换MySQL字段中的二进制(16)数据_Php_Mysql - Fatal编程技术网

Php 转换MySQL字段中的二进制(16)数据

Php 转换MySQL字段中的二进制(16)数据,php,mysql,Php,Mysql,我从一个学院“继承”了一个包含十几个字段的MySQL数据库。因为我很少使用数据库,所以我在这里寻求一些建议 有一个名为“IP”的二进制(16)字段:我想它是用来存储用户IP的。典型的存储值是,例如,00000000000000 FFFF3D024463 使用PHP(如果可能的话,甚至是MySQL),如何将这些数据转换为普通IP地址?您试过了吗 $data = hex2bin($ip); var_dump($data); //not sure how your data was put into

我从一个学院“继承”了一个包含十几个字段的MySQL数据库。因为我很少使用数据库,所以我在这里寻求一些建议

有一个名为“IP”的
二进制(16)
字段:我想它是用来存储用户IP的。典型的存储值是,例如,
00000000000000 FFFF3D024463

使用PHP(如果可能的话,甚至是MySQL),如何将这些数据转换为普通IP地址?

您试过了吗

$data = hex2bin($ip);
var_dump($data);
//not sure how your data was put into the column IP
在sql查询中,您也可以尝试

$query = mysql_query("SELECT `HEX(IP)` FROM `database`");
$row = mysql_fetch_array($query);
foreach($row['ip'] as $ip)
{
   $data = hex2bin($ip);
   echo $data."<br />";
}
$query=mysql\u query(“从“数据库”中选择“十六进制(IP)”;
$row=mysql\u fetch\u数组($query);
foreach($ip'行作为$ip)
{
$data=hex2bin($ip);
echo$数据。“
”; }
//未测试的代码


已解决:我必须使用MySQL函数(
INET6\u NTOA
)转换该数字。

hex2bin返回bool(false)此页面有帮助吗?老实说,我会将该列从binary改为varchar,并将ip地址存储为string。尝试
bin2hex()我不能更改数据库,我只能检索值