0

经过数小时的尝试和搜索,我放弃了并寻求您的帮助。如何使用 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 的结果。第二个没有给出任何内容,“数组”这个词,或者一个重要的错误报告,不能转换为字符串。我已经尝试了所有子功能,从“fetch_all”到“fetch_row”。

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

4

4 回答 4

1

我认为别名非常适合这里:

SELECT SUM(`Arbeidspercentage)` as 'sum_arbeid' ...
...
echo $row['sum_arbeid'];
于 2013-04-18T18:57:29.520 回答
0

你必须遍历结果。请参阅http://php.net/manual/en/mysqli-result.fetch-assoc.php - fetch_all 和 fetch_assoc 是可替换的。但是您应该考虑使用 assoc 来不生成输出中不需要的数据。

于 2013-04-18T18:57:42.110 回答
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];
于 2013-04-18T18:58:15.950 回答
0

尝试将 MYSQLI_ASSOC 作为第二个参数添加到 mysqli_fetch_array 调用。它将强制函数返回关联数组而不是整数索引的数组。mysqli_fetch_all 调用也是如此。这些调用将始终返回一个数组,因此 echo 将始终打印 Array。尝试 var_dump 而不是 echo。

var_dump($kwearie_2_readable);
于 2013-04-18T18:59:57.753 回答