我有一个名为“hours”的表格,其中包含以下列:
id,int(11)
日期,日期
小时,int(11)
我在桌面上运行此查询:
SELECT SUM(hours) as value_total FROM hours
返回小时列中值的正确总和 - 68586
将此结果传递给数组,但是当我尝试打印包含总和68586的数组的索引时,它不会出现在屏幕上。
这是我在PHP中的代码
if($result = $conn->query("SELECT SUM(hours) as value_total FROM hours") or die(mysql_error())) {
if ($result->num_rows) {
while ($rows = $result->fetch_assoc())
echo '<pre>', print_r($rows), '</pre>';
print_r($rows['value_total']);
}
} else {
die($conn->error);
}
print_r试图打印传递给数组的总和的索引,但没有输出:(
现在,我屏幕上的内容是:
Array
(
[value_total] => 68586
)
1
老实说这是一个noob错误我正在某个地方我知道它,但是如何用php打印“value_total”到页面?
答案 0 :(得分:2)
要了解您的错误,请更改:
while ($rows = $result->fetch_assoc())
echo '<pre>', print_r($rows), '</pre>';
print_r($rows['value_total']);
为:
while ($rows = $result->fetch_assoc())
{
echo '<pre>', print_r($rows), '</pre>';
print_r($rows['value_total']);
}
因为你的print_r
在while循环之外,因为只有紧接着的下一个命令是循环的一部分,并且在第二行是$ rows null
。
然而正如@Phil指出的那样,如果您期望单行结果,请不要为while循环烦恼......
if( $rows = $result->fetch_assoc())
{
echo '<pre>', print_r($rows), '</pre>';
print_r($rows['value_total']);
}