2 回答

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
您不需要此代碼。首先你不需要if($result > 0)。你的變量$result是一個(gè)數(shù)組,而不是一個(gè)數(shù)字,所以你不能將它與一個(gè)數(shù)字進(jìn)行比較。intval如果您在算術(shù)上下文中使用結(jié)果,則意義不大。將一個(gè)變量分配給另一個(gè)變量而不對(duì)它做任何有用的事情是沒(méi)有意義的,所以$price = $row['price'];也要?jiǎng)h除。
然后剩下的是一個(gè)帶有算術(shù)加法的簡(jiǎn)單循環(huán)。
$result = $query->fetchAll(PDO::FETCH_ASSOC);
$total = 0;
foreach($result as $row){
$total += $row['price'];
}
這不是最明智的想法,因?yàn)榇祟惒僮鲬?yīng)該在 SQL 而不是 PHP 中完成。有什么理由必須用 PHP 來(lái)做嗎?如果不是,則簡(jiǎn)單地聚合 SQL 中的值。
SELECT SUM(price) AS total FROM salesOrders WHERE saleId = ?
然后在 PDO 中只獲取一個(gè)列。
$total = $query->fetchColumn();

TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個(gè)贊
我認(rèn)為
if($result > 0){ ... }
應(yīng)該
if(count($result) > 0){ ... }
- 2 回答
- 0 關(guān)注
- 177 瀏覽
添加回答
舉報(bào)