想要在 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 查询的表

我创建了通知功能并收到此错误“未定义索引:用户”如何解决?

使用内连接 SQL 语句时未定义的索引

关于学说 m:n 关系的未定义索引

我收到通知:未定义索引:joinTable

使用 MySQL 和 jQuery 比较数据库值和文本输入的问题 - 未定义索引和 mysql_fetch_assoc() 错误