【问题标题】:SUM mysqli query returning arraySUM mysqli 查询返回数组
【发布时间】:2017-11-07 10:02:10
【问题描述】:

我想要的是将点列中的所有值相加 这些存储为 INT(4)

但是当我尝试显示结果时它的回显数组

$pipq = mysqli_query($con,"SELECT `points` FROM `table` WHERE `result` !='2'");
 $pips = mysqli_fetch_assoc($pipq);
 $sum = 0;
 do {
 $sum += $pips[0];
 } while($pips = mysqli_fetch_assoc($pips));

任何帮助将不胜感激

【问题讨论】:

  • 很少见到do { } while()

标签: php mysqli sum


【解决方案1】:

1.使用 SQL 查询本身,您可以执行以下操作:-

$pipq = mysqli_query($con,"SELECT SUM(`points`) as total_mark FROM `table` WHERE `result` !='2'");
$pips = mysqli_fetch_assoc($pipq);
echo $pips['total_mark'];

2.您的代码在以下更改后也可以工作:-

$pipq = mysqli_query($con,"SELECT `points` FROM `table` WHERE `result` !='2'");
$sum = 0;
while($pips = mysqli_fetch_assoc($pips)){ // use while only
  $sum += $pips['points']; // use column-name here
}
echo $sum;

注意:- 第一个比第二个好得多。所以使用第一个。

【讨论】:

  • 可以直接在mysql查询中对points求和,如SELECT SUM(points) as total_points FROM table WHERE result !='2'
  • @AiyazKhorajia 我补充说,同时你说。还是谢谢。
  • 钻石!完美运行.. 系统允许我在 7 分钟内接受答案
  • @ChrisYates 检查我编辑的解决方案一次。很高兴帮助你:):)
猜你喜欢
  • 2016-05-17
  • 2011-01-19
  • 1970-01-01
  • 2023-03-31
  • 2012-11-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多