首页 > 解决方案 > 如何回显mysqli别名列?

问题描述

回显 sql 列时出现问题,因为我想输出来自 sql 语句的两个别名列,从而我正在对某些行进行计算。

我已经尝试了下面的代码,并通过用别名列名 AmountOwed、KindsOfProducts 替换 0 和 1 来修改它,但这些都不起作用。

PHP 代码 - 问题出在哪里......

$result = $con->query($sql);
if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "AmountOwed: " . $row[0]. " - KindsOfProducts: " . $row[1]
        ."<br>";
    }
} else {
    echo "0 results";
}
$con->close();

我试图回应的凌乱的 SQL 语句

@$username=$_POST['username'];      
$sql=  "SELECT SUM(`price` * `quantity`) AS AmountOwed,
COUNT(*) AS KindsOfProducts FROM tablename
WHERE `orderdate` BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY) AND NOW()
and uname = '$username'";

标签: phpmysqliphpmyadmin

解决方案


我在 Stack 上找到的原始方法是回显 row[0] 等,将 0 替换为列别名。

这最初不起作用的唯一原因是那里有一个小错字,这是正确的代码。

$result = $con->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "TEXT: " . $row[COLUMNALIAS]. " - MORETEXT: " . $row[COLUMNALIAS]
."<br>";
}
} else {
echo "0 results";
}
$con->close();

推荐阅读