-1

我有一堂课,我有一个带有以下查询的函数

public function count_weight() {
    $id = $_SESSION['id'];
    $query = $this->db->prepare("SELECT sum( weight ) FROM `fish` WHERE `user_id` = '".$_SESSION['id']."'");

    try {
        $query->execute();
    } catch(PDOException $e) {
        die($e->getMessage());
    }

    return $query->fetchAll();
}

我想在我的索引页面上回显这个结果。现在它看起来像这样:

$weight = $users->count_weight();

回声$重量;

这显然不起作用,它只打印出“arraykg”。

有什么建议么?

4

5 回答 5

2

你不能打印这样的数组。例如

$arr = array(1,2,3);
echo $arr;

将输出文字 text Array,因为您在字符串上下文中使用数组。如果你想打印数组的内容,你需要用它做一些事情,例如

echo implode(',', $arr); // prints: 1,2,3

或者

print_r($array); // debug dump out of the array
于 2013-08-02T19:41:51.700 回答
0

试试这个例如:

$weight = $users->count_weight();
foreach($weight as $w)
{
   echo($w['id']):
}
于 2013-08-02T19:42:18.603 回答
0

$query->fetchAll();将返回一个数组。用于var_dump()分析数组并相应地调整变量声明。

于 2013-08-02T19:42:48.087 回答
0
echo "<pre>";
print_r($weight);
echo "</pre>";

假设$weight实际上包含数据而不是资源。

于 2013-08-02T19:42:55.613 回答
0

$weight 是它检索到的行的数组。您需要回显该列

echo $weight['weight'];

由于查询,这可能会或可能不会起作用。尝试将查询更改为:

$query = $this->db->prepare("SELECT sum( weight ) AS weight FROM `fish` WHERE `user_id` = '".$_SESSION['id']."'");
于 2013-08-02T19:43:03.437 回答