来自mysql的PHP echo十六进制

时间:2017-01-26 19:40:59

标签: php mysql hex uuid

在PHP中,我想将UU​​ID作为文本从mysql数据库打印

$con = mysql_connect("localhost","user","pass");
if (!$con) {
    die('Could not connect: ' . mysql_error());
}

$db_selected = mysql_select_db('advancedban', $con);

$query="SELECT * FROM bm_name_bans";                    
$results = mysql_query($query);
while ($row = mysql_fetch_array($results)) {
    echo $row['actor_id'];
}

行actor_is是二进制(16)类型,在网站上我将获得*?|?O2a?GCtq??I 你能帮我输出082a3f7c3f4f32613f474374713f3f49吗?

1 个答案:

答案 0 :(得分:1)

您需要将二进制字符串转换为十六进制字符串。您可以使用dechexord PHP函数的组合,如下所示:

$row['actor_id'] = '*?|?O2a?GCtq??I';

for ($i = 0; $i < strlen($row['actor_id']); $i++) {
    $currentChar = $row['actor_id'][$i]; // you can access string characters like it is an array
    echo dechex(ord($currentChar));
}

请注意strlen是二进制安全的,可以在这里使用。