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

MySQL SUM() Returns an Empty Array Instead of Decimal Value

在尝试获取小数类型列 (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";

检查 $balance 时我可以看到它是一个数组:

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

我想将“cpi”列(无空行)中所有行的总余额显示为 $sum。做错了什么?有什么想法可以修复我的代码吗? P.S。如果有用信息,请在 WordPress 中使用它...

只需尝试使用

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

问题是因为你的代码returns是一个数组,无法使用echo打印出来。如果你想打印数组使用

print_r($balance);

您的数组包含一个对象,其中有一个 属性 称为 balance_value,因此您可以像这样访问它

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