他是 16 字节的二进制数据,读出来应该是个串
你给我看看,才好说怎么做
比如读出后保存在变量 $id 中
你就 echo base64_encode($id); 贴出结果

解决方案 »

  1.   

    V+mLfrZqsEa+dAAJhxD9Yw==
    我有你的方法输出后就是这个结果。
      

  2.   

    $id = base64_decode('V+mLfrZqsEa+dAAJhxD9Yw==');
    echo join('-', unpack('H8a/H4b/H4d/H4e/H*f', $id));57e98b7e-b66a-b046-be74-00098710fd63
      

  3.   

    uniqueidentifier类型是一个32字节长的二进制数据
    一般显示为5节十六进制数(8,4,4,4,12)
    将二进制数据转换成十六进制表示的方法有多种
    这里我使用了 unpack 函数
    转换时的格式串 H8a/H4b/H4d/H4e/H*f 的含义为
    H8a 取8个字节转换成十六进制表示,放在键名 a 中
    H4b 取4个字节转换成十六进制表示,放在键名 b 中
    H4d 取4个字节转换成十六进制表示,放在键名 d 中
    H4e 取4个字节转换成十六进制表示,放在键名 e 中
    H*f 剩余的转成十六进制表示,放在键名 f 中
    / 是分节符
      

  4.   

    麻烦在问一下,为什么输出的和库中的不一样,a/b/c的键值不对,只有d/f的值是对的。
    输  出:04d18e5d-9cc9-d64c-9fa9-2aa2393cd553
    数据库:5D8ED104-C99C-4CD6-9FA9-2AA2393CD553