在PHP中将二进制变量转换为mySQL语句的十六进制表示

时间:2013-06-07 15:07:04

标签: php mysql

我正在编写一个工具来将测试数据插入数据库。一些字段是blob,它们是(mcrypt)加密的字符串表示。

我正在创建二进制变量,但是当我导出(已知良好)数据作为参考时,找不到以我在PHPmyAdmin中看到的格式正确输出它的方法。

例如:

我使用PHPmyAdmin导出已知字符串。它在VALUES列表中生成值0xe07861bbcaf39ad54a0b85389a9f08886997f8cafffe871b8569c2fcf3293bcc。

在我的二进制字段上运行bin2hex(我已经确认包含与已知良好数据相同的内容)导致表示为7a49e1b3d7c6357cab6b4f9c61bc4d8535c23cbc8789e28ce9321993e9372c80

我找不到任何关于如何将二进制PHP数据正确转换为mySQL使用的(十六进制)格式的文档。我已经阅读了似乎相关的类似问题。

如何从二进制字段到PHPmyAdmin的0x ....值?

1 个答案:

答案 0 :(得分:1)

这很简单:

'0x' . bin2hex($bin)

至于不同的输出,我的赌注是你正在混合原始数据。