如何用PHP检索统计SQL结果?

时间:2013-04-18 18:53:42

标签: php sql statistics

经过几个小时的尝试和搜索网络,我放弃了,并且正在寻求你的帮助。如何用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'。

这是怎么做到的?一个好的教程也可以。

4 个答案:

答案 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);