所以我有一个如下所示的数据库: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”结果。我做错了什么?
答案 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'];
}