来自 SUM 和 MySQLi 的单一结果

Single Result From SUM With MySQLi

提问人: 提问时间:9/30/2012 最后编辑:hjpotter92 更新时间:9/5/2020 访问量:26434

问:

四处张望。找不到答案。PHP文档不清楚(对我来说)。

我正在做一个简单的MySQL求和。我怎样才能得到MySQLi的结果?mysqli->querymysql_result

php mysqli 求和

评论

0赞 octern 9/30/2012
您是否能够使用 mysqli 从常规查询中获取结果?你使用 sum() 的事实不应该改变任何事情。
1赞 tamouse 9/30/2012
假设这样的事情:跟进$res=mysqli_query($dbh,"select sum(field) from table1"); if (FALSE === $res) die("select sum failed");$row = mysqli_fetch_row($res); $sum = $row[0];
0赞 9/30/2012
具有讽刺意味的是,我只有使用 mysqli_fetch_assoc 的数组的经验。如何访问单个结果?使用求和的列?别名?非常感谢您的帮助。
0赞 9/30/2012
@tamouse 使用“$row = mysqli_fetch_row($res);”给出“警告:mysqli_fetch_row()期望参数 1 mysqli_result,给出布尔值”
0赞 tamouse 9/30/2012
你@JoeCoderGuy测试了mysqli_query的结果,看看它是否是假的?如果查询中出现错误,它将返回 FALSE。

答:

10赞 Madara's Ghost 9/30/2012 #1

最好为 SUM 使用别名:

SELECT SUM(`field`) as `sum` FROM `table_name`

然后,您将能够通过访问第一个结果行的 .$row['sum']

7赞 tamouse 9/30/2012 #2

如果查询成功,则 SELECT 语句中给 mysqli_query 的任何内容都将返回mysql_result类型。因此,如果您有 SELECT 语句,例如:

SELECT sum(field) FROM table1

您仍然需要获取带有结果的行,并且 sum() 函数的值将是行数组中的唯一条目:

$res = mysqli_query($dbh,'SELECT sum(field) FROM table1');
$row = mysqli_fetch_row($res);
$sum = $row[0];