MySQL SUM()返回一个空数组,而不是十进制值



在尝试获取十进制类型列(4,2(中的付款总额时,得到一个空数组。这是代码:

global $wpdb;
$balance = $wpdb->get_results("SELECT cast(sum(cpi) as decimal(5,2)) AS balance_value FROM hp_callbacks");
$row = mysqli_fetch_assoc($balance);
$sum = $row['balance_value'];
echo "Result: $sum";

当检查$余额时,我可以看到它是一个数组:

global $wpdb;
$balance = $wpdb->get_results("SELECT cast(sum(cpi) as decimal(5,2)) AS balance_value FROM hp_callbacks");
echo "Result: $balance";

输出为:

Result: Array

我想显示"0"中所有行的总余额;cpi";列(没有空行(作为$sum。我做错了什么?有什么想法可以修复我的代码吗?附言:在WordPress中使用它,如果它是有用的信息。。。

您的数组包含一个对象,该对象具有一个名为balance_value的属性,因此您可以像以下一样访问它

echo "Result: " . $balance[0]->balance_value;

只需尝试使用

$rownum = 0 /* put the value of the row which you want to retrieve, I want to retrieve only the first row */ 
$balance[$rownum][0]

问题是由于您的代码返回了一个数组,而该数组无法使用echo打印。如果要打印阵列,请使用

print_r($balance);

最新更新