PHP 从 mysql 回显十六进制
PHP echo hex from mysql
在 PHP 中,我想从 mysql 数据库
中将 UUID 打印为文本
$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
?
您需要将二进制字符串转换为十六进制字符串。您可以使用 dechex
和 ord
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
是二进制安全的,可以在这里使用。
在 PHP 中,我想从 mysql 数据库
中将 UUID 打印为文本$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
?
您需要将二进制字符串转换为十六进制字符串。您可以使用 dechex
和 ord
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
是二进制安全的,可以在这里使用。