我有一个类,其中我有一个功能,其中包含以下查询。
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();
echo $ weight;
这显然不起作用,它只打印出“arraykg”。
有什么建议吗?
答案 0 :(得分:2)
你不能打印那样的数组。 e.g。
$arr = array(1,2,3);
echo $arr;
将输出文字文本Array
,因为您在字符串上下文中使用该数组。如果要打印数组的CONTENTS,则需要对其进行操作,例如
echo implode(',', $arr); // prints: 1,2,3
或
print_r($array); // debug dump out of the array
答案 1 :(得分:0)
试试这个例子:
$weight = $users->count_weight();
foreach($weight as $w)
{
echo($w['id']):
}
答案 2 :(得分:0)
$query->fetchAll();
将返回一个数组。使用var_dump()
分析数组并相应地调整变量声明。
答案 3 :(得分:0)
echo "<pre>";
print_r($weight);
echo "</pre>";
假设$weight
实际上包含数据且不是资源。
答案 4 :(得分:0)
$ weight是它检索的行的数组。您需要回显该列
echo $weight['weight'];
由于查询,这可能有效,也可能无效。尝试将查询更改为:
$query = $this->db->prepare("SELECT sum( weight ) AS weight FROM `fish` WHERE `user_id` = '".$_SESSION['id']."'");