php 我有一个小问题与SQL求和,我不知道哪里是一个问题[已关闭]

ycggw6v2  于 2023-02-28  发布在  PHP
关注(0)|答案(1)|浏览(122)

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
7小时前关闭。
Improve this question
今天我"记住"了一个新的东西,我有一个小问题,我没有看到我的代码有问题。
错误为:
尝试访问第106行"path"\xampp\htdocs\cuponiada\includes\viz_cup_data. php中类型为空的值的数组偏移量
情况是我想用sql查询访问数据库,并使sum与一些条件完全一样,在php的一部分,我介绍了在php的段落标记完全一样,在html的一部分。

SQL:

SELECT
    SUM(
        CASE WHEN
            (
                ( cardID = '$cardID' )
                AND
                transactionAction = 'acumulare'
            ) THEN transactionAmount
        END
    ) AS Acumulare
FROM
    tranzactions;

PHP部分:

$sqlsearchtwo = "SELECT SUM(case WHEN ((cardID = '$cardID') AND transactionAction = 'acumulare' ) THEN transactionAmount END) AS Acumulare From tranzactions;";

$resulttwo = mysqli_query($conn, $sqlsearchtwo);

if (mysqli_num_rows($resulttwo) > 0) {
    while ($rowtwo = mysqli_fetch_assoc($resultone)) {
        $totalac = $rowtwo["Acumulare"];             
    }
} else {
    $totalac = 0;
}

HTML部件

<div class="totals">
   <p class="p-total">Total Acumulat:<?php echo " ".$rowtwo["Acumulare"]; ?></p> /* here is line 106 */
 </div>

我想看看或解释我或给我一个链接是什么错误在我的代码。我使与另一个查询与一些步骤和工作(我显示了一个表),是简单的基本查询。
当表中的记录多于2条时,并且在这种情况下是一个表具有一列和一个值时,是否为差分方法?

o7jaxewo

o7jaxewo1#

仅用于SQL查询部分;
为什么要在SUM函数中使用“Case When”来过滤数据,而不使用where子句?
而不是此sql

SELECT SUM(case WHEN ((cardID = '$cardID') AND transactionAction = 'acumulare' ) THEN transactionAmount END) AS Acumulare From tranzactions

这个比较容易理解

SELECT SUM(transactionAmount) AS Acumulare From tranzactions WHERE cardID = '$cardID' AND transactionAction = 'acumulare'

相关问题