想要在 mysql 查询中求和时收到“未定义索引”通知[重复]
Posted
技术标签:
【中文标题】想要在 mysql 查询中求和时收到“未定义索引”通知[重复]【英文标题】:Receiving an "Undefined index" notice when wanting to sum in a mysql query [duplicate] 【发布时间】:2019-01-13 06:13:57 【问题描述】:我正在尝试从我的数据库中获取列的总和。当我尝试此代码时,我收到错误Undefined index: sum(col_1)
。我怎样才能做到这一点?我是一个真正的初学者,所以保持简单一点。
$sql = "SELECT * FROM table_1";
$run = mysqli_query($conn, $sql);
while($rows = mysqli_fetch_assoc($run))
$col_ans[1] = $rows['sum(col_1)'];
echo $col_ans[1];
【问题讨论】:
提示:可以使用print_r($rows)
查看数组索引是什么。
php: “Notice: Undefined variable”, “Notice: Undefined index”, and “Notice: Undefined offset” 可能重复。
提示:在访问它们之前,您可能需要确保数组中存在字段。前任。可以使用如下三元运算符。 $x = isset($rows['col_1_sum']) ? $rows['col_1_sum'] : 'no-value' 了解更多关于三元运算符codementor.io/@sayantinideb/…
【参考方案1】:
您可以通过这种方式轻松找到一列的总和。
$sql = "SELECT sum(col_1) as col_1_sum FROM table_1";
$run = mysqli_query($conn, $sql);
while($rows = mysqli_fetch_assoc($run))
echo $rows['col_1_sum'];
【讨论】:
【参考方案2】:您的问题是您没有在查询中使用SUM()
函数,因此您不会从查询中得到任何总和
您还可以尝试以下方法:
$query = "SELECT productName, SUM(productQty) AS 'Products Ordered'
FROM ctrlaproducttab
GROUP BY productName
";
$result = mysqli_query($con,$query);
while($row = mysqli_fetch_assoc($result))
$productName = $row['productName'];
$itemsOrdered = $row['Products Ordered'];
请注意,我们为表达式SUM(productQty)
的结果赋予了别名Products Ordered
,现在我们可以将此别名用作mysqli_fetch_assoc()
返回的关联数组中的索引
【讨论】:
以上是关于想要在 mysql 查询中求和时收到“未定义索引”通知[重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 Select 表单过滤使用 PHP 从 MySQL 查询的表
使用 MySQL 和 jQuery 比较数据库值和文本输入的问题 - 未定义索引和 mysql_fetch_assoc() 错误