首页 > 解决方案 > 无法对我的 mysql 表中的某些值进行 PHP 总和,请帮助我

问题描述

$req = $conn->prepare('SELECT SUM(VoteValue) AS FinalScore FROM votes WHERE URL="TCeLkdTOWM"');

$req->execute();
$data = $req->fetch(); 
$total = $data['FinalScore'];
echo "Score is ".$total." <br>";

所以我理论上应该在理论上对列 VoteValue 中的所有值进行总计,并且在我的 mysql 表的列 URL 中有 TCeLkdTOWM(请参阅下面的我的 Mysql 表)

URL VoteIP VoteValue 
TCeLkdTOWM 10.0.0.1 6
TCeLkdTOWM 10.0.0.2 -1
eoirjgo 10.0.0.8 450

它应该在后台执行 6+(-1),我应该在我的页面上得到“分数为 5”,但是

问题是,它不起作用,没有错误代码,什么都没有,我只是得到“分数是”,没有别的

标签: phpmysql

解决方案


mysqli_stmt->fetch()不返回查询结果。这根本不是这个功能的工作方式。

使用 (with bind_resultand fetch)

$req->execute();
$req->bind_result($finalScore);
if ($req->fetch()) {
    echo "Score is " . $finalScore;
}

或(带get_resultfetch_assoc

$req->execute();
$result = $stmt->get_result();
if ($data = $result->fetch_assoc()) {
    echo "Score is " . $data['FinalScore'];
}

推荐阅读