php - 将表列中的 DEC 值转换为十六进制

标签 php mysql sql mysqli

实际上我猜这个问题是重复的,但我不明白我的 SQL 代码有什么问题。我的错误是

Notice: Undefined index: CI in C:\wamp\www\LOCATIONVIEWER\exampleDB.php on line 30.

我需要将列的所有十进制值转换为十六进制值。帮我做一下...:)

这是我的代码:

<html>
<head>
<title>test</title>
</head>

<body>
<?php


$servername = "localhost";
$username = "root";
$password = "";
$dbname = "locationviewer";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
//CI is a column name of the table
$sql = "SELECT CONV(CI,10,16) FROM locationdata";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "CI: " . $row["CI"]."<br>";
    }
} else {
    echo "0 results";
}
$conn->close();


?>

</body>

</html>

最佳答案

您应该更改以下代码:

$sql = "SELECT CONV(CI,10,16) FROM locationdata";

$sql = "SELECT CONV(CI,10,16) AS `CI` FROM locationdata";

发生这个问题是因为 php 无法看到 CI 索引,并且当前索引类似于 CONV(CI,10,16)

关于php - 将表列中的 DEC 值转换为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37268913/

相关文章:

php - (Elasticsearch)如何获取所有文档的嵌套字段的最后一个元素然后执行子聚合

mysql - 从 MySQL 中的连接 View 表中删除行

mysql - 按制造商获取所有相关类别,5 个表

sql - 为表生成唯一ID

php - SQL/PHP : Joins with no matches on the other table (multiple tables)

javascript - 以行作为 ID 和值的表的复制按钮

php - 覆盖现有定义的常量

java - 使用 JDBC JAVA 进行分页

sql - 在字符串中搜索正则表达式模式并将每个出现替换为 oracle SQL 中自身的派生

Sql:两个日期之间的差异