繁体   English   中英

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

[英]How to retrieve statistical SQL results with PHP?

经过数小时的尝试和搜索网络,我放弃了,正在寻求您的帮助。 如何使用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);
?>

但是我得到的只是第一个服装的结果。 第二个则不给出任何信息,单词“ Array”或重要的错误报告无法转换为字符串。 我已经尝试了所有子功能,从“ fetch_all”到“ fetch_row”。

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

我认为别名将完全适合这里:

SELECT SUM(`Arbeidspercentage)` as 'sum_arbeid' ...
...
echo $row['sum_arbeid'];

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

当您执行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];

尝试将MYSQLI_ASSOC作为第二个参数添加到mysqli_fetch_array调用中。 它将强制函数返回assoc数组,而不是返回整数索引之一。 mysqli_fetch_all调用也是如此。 这些调用将始终返回一个数组,因此echo将始终显示Array。 尝试使用var_dump代替echo。

var_dump($kwearie_2_readable);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM