通过PHP查询添加oracle数据库表的列值



嗨,我有一个表在oracle数据库。它有purchase, sale, income

现在我想在INCOME列中显示这些值的sum,并在php页面中显示总收入为sum[INCOME]。我试图使用查询功能。查询似乎不起作用。代码如下:

<?php
function formatMoney($number, $fractional=false) {
    if ($fractional) {
        $number = sprintf('%.2f', $number);
    }
    while (true) {
        $replaced = preg_replace('/(-?d+)(ddd)/', '$1,$2', $number);
        if ($replaced != $number) {
            $number = $replaced;
        } else {
            break;
        }
    }
    return $number;
}
$c = oci_connect('SYSTEM', 'passward', 'db');
$result1 = oci_parse($c,"SELECT sum(INCOME) FROM TABLE WHERE SALE_DATE='$rdt'");    
oci_execute($result1);
$row = oci_fetch_array($result1, OCI_ASSOC);    
while($row = oci_fetch_array($result1, OCI_ASSOC))
{
    $total=$row['sum(INCOME)'];
    echo formatMoney($total, true);
 }
?>

这是不正确的,使用关键字as给聚合函数一个别名:

$result1 = oci_parse($c,"SELECT sum(INCOME) as total_income FROM TABLE WHERE SALE_DATE='$rdt'");

然后你可以这样获取它:

$total=$row['total_income'];

或者你可以让查询保持不变,而不是获取它:

$total=$row[0]; //aggregate functions return only single row, so this
                //basically means fetch the first row

最新更新