如何回显mysqli别名列?
Posted
技术标签:
【中文标题】如何回显mysqli别名列?【英文标题】:How to echo out mysqli aliased columns? 【发布时间】:2019-09-01 00:01:44 【问题描述】:在回显 sql 列时遇到问题,因为我想输出这两个列 来自 sql 语句的别名列,我正在对某些行进行计算。
我已经尝试了下面的代码,并通过将 0 和 1 替换为别名列名、AmountOwed、KindsOfProducts 来修改它,这不起作用。
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'";
【问题讨论】:
你能出示你的$sql
吗?
使用fetch_row
而不是fetch_assoc
一次print_r($row)
在while循环中,我相信你会得到你正在寻找的答案。
fetch_row 和 print_r 不起作用。
@MasivuyeCokile $sql= "SELECT SUM(price
* quantity
) AS AmountOwed, COUNT(*) AS KindsOfProducts FROM tablename WHERE orderdate
BETWEEN DATE_SUB(NOW(), INTERVAL 30 DAY ) AND NOW() 和 uname = '$username'";
【参考方案1】:
我在 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();
【讨论】:
您为什么不尝试使用fetch_row
,它会以更快的性能完全满足您的要求跨度>
以上是关于如何回显mysqli别名列?的主要内容,如果未能解决你的问题,请参考以下文章