我想你正在寻找COUNT()
not SUM()
。而且您没有包含表名。还要记住,mysqli_fetch_assoc()
将行作为数组返回,它不返回第一列的值。此外,mysqli_query()
需要连接作为第一个参数。
$web = mysqli_query($conn, "select COUNT(*) as total FROM matches WHERE WinnerUID='".(int)$req_user_info['id']."'");
$row = mysqli_fetch_assoc($web);
echo $row['total'];
不要将变量连接到您的 SQL 中。使用带有绑定参数的Prepared Statement 。我(int)
在上面的代码中将您的 ID 转换为 an,这是一个快速修复,但您应该切换到 Prepared Statement。
Prepared Statement示例(面向对象的接口而不是过程):
if ($stmt = $conn->prepare("select COUNT(*) from matches WHERE WinnerUID = ?")) {
$stmt->bind_param("i", $req_user_info['id']);
$stmt->execute();
$stmt->bind_result($web_sum);
$stmt->fetch();
echo $web_sum;
$stmt->close();
}