所以我有一个看起来像这样的数据库:http://sqlfiddle.com/#!2/5d1e12/5
当我在php代码中执行此操作时

<?php
$q1 = "SELECT SUM(*) FROM qbd";
$r1 = $db1->query($q1);
print_r($r1->errorInfo());

foreach ($r1 as $row){
    echo $row['Dragon_Bones'];
}
?>


然后这是我的errorinfo结果:


  数组(
      [0] => 00000
      [1] =>
      [2] =>)


现在的问题是它没有显示“ 16”结果。我究竟做错了什么?

最佳答案

您正在尝试打印一个名为Dragon_Bones的列,该列不在您的结果集中。如果为输出列提供别名,则它将起作用。更重要的是,您的查询仅返回1行和1列,因此您不需要for_each或别名。您可以这样做:

<?php
  $q1 = "SELECT SUM(*) FROM qbd";
  $r1 = $db1->query($q1);
  print_r($r1->errorInfo());

  $row = mysql_fetch_assoc($r1);
  print_r($row);
?>

关于php - 计算列的内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22841052/

10-15 12:26