我認爲你正在尋找COUNT()
而不是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。在上面的代碼中我輸入了您的ID作爲(int)
,這是一個快速修復,但您應該切換到準備好的聲明。
預處理語句實例(面向對象接口,而不是程序):
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();
}
的print_r($ web_sum) – Strawberry
其中這些匹配是從任何表? –
您正在向代碼中注入SQL。神奇地將'mysql_'改爲'mysqli_'並不能解決這個問題。使用預準備語句和綁定變量。 – h2ooooooo