计算列的内容

时间:2014-04-03 14:40:34

标签: php mysql sql

所以我有一个如下所示的数据库: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] =&gt; 00000       [1] =&gt;       [2] =&gt; )

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

3 个答案:

答案 0 :(得分:2)

您正在尝试打印名为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);
?>

答案 1 :(得分:0)

您还没有指定别名。请将别名指定为count。它肯定会起作用

 <?php
        $q1 = "SELECT SUM(*)  as count FROM qbd";
        $r1 = $db1->query($q1);
        $row = $r1->fetch_row();
        echo  $row[0];
   ?>

答案 2 :(得分:0)

您正在尝试打印不在阵列中的内容。试试这个:

$q1 = "SELECT SUM(*) as total FROM qbd";
$r1 = $db1->query($q1);

foreach ($r1 as $row){
    echo $row['total'];
}