经过几个小时的尝试和搜索网络,我放弃了,并且正在寻求你的帮助。如何用PHP检索统计SQL结果?我创建了一个包含五个条目的测试表,主要是数值。使用phpMyAdmin我可以做几个统计计算,但使用PHP我甚至无法得到一笔钱。
在SQL语言中非常简单:
SELECT SUM(`Arbeidspercentage`) FROM `enq_vs`;
我将它与其他函数一起放在PHP文件中,如下所示:
<?php
require "connect.php";
$kwearie_1 = mysqli_query($con,"SELECT * FROM `enq_vs`");
$x = "Arbeidspercentage";
$y = "Verzoeken_alg_toegek";
while($row = mysqli_fetch_array($kwearie_1))
{
echo $row[$x] . " " . $row[$y] . '<br>';
};
$kwearie_2 = mysqli_query($con,"SELECT SUM(`Arbeidspercentage`) FROM `enq_vs`");
$kwearie_2_readable = mysqli_fetch_all($kwearie_2);
echo $kwearie_2_readable;
mysqli_close($con);
?>
但我得到的只是第一件kwearie的结果。第二个不提供任何内容,单词'Array'或重要的错误报告无法转换为字符串。我已经尝试了所有子函数,从'fetch_all'到'fetch_row'。
这是怎么做到的?一个好的教程也可以。
答案 0 :(得分:1)
我认为别名完全适合这里:
SELECT SUM(`Arbeidspercentage)` as 'sum_arbeid' ...
...
echo $row['sum_arbeid'];
答案 1 :(得分:0)
你必须遍历结果。请参阅http://php.net/manual/en/mysqli-result.fetch-assoc.php - fetch_all和fetch_assoc是可替换的。但是您应该考虑使用assoc来生成输出中不需要的数据。
答案 2 :(得分:0)
当你执行mysql_fetch_all时,你会得到一个数组。您不能简单地回显数组的结果。请改用foreach循环。
$kwearie_2_readable = mysqli_fetch_all($kwearie_2);
foreach ($kwearie_2_readable as $row) {
// $row is an array as well.
var_dump($row);
}
在这种情况下,您知道您的结果只有一行,所以您也可以这样做:
var_dump($kwearie_2_readable[0]);
最终,您希望回应您感兴趣的特定元素:
echo $kwearie_2_readable[0][0];
答案 3 :(得分:0)
尝试将MYSQLI_ASSOC添加为mysqli_fetch_array调用的第二个参数。它将强制函数返回assoc数组而不是整数索引数组。与mysqli_fetch_all调用相同。这些调用将始终返回一个数组,因此echo将始终打印Array。尝试使用var_dump而不是echo。
var_dump($kwearie_2_readable);