Mysql php中的SQL求和行

Mysql php中的SQL求和行,mysql,sql,sum,Mysql,Sql,Sum,我现在有一个SQL语句,如果表中只有一行,它就可以工作,但是如果有多行,它就不能工作 $mon = mysql_query("SELECT SUM(amount)AS `ingame` FROM `players` WHERE `playername` = '$player'")or die(mysql_error()); $money = mysql_fetch_assoc($mon); $moneyingame = $amount['ingame']; 表的一个示例 PLAYERNAME

我现在有一个SQL语句,如果表中只有一行,它就可以工作,但是如果有多行,它就不能工作

$mon = mysql_query("SELECT SUM(amount)AS `ingame` FROM `players` WHERE `playername` = '$player'")or die(mysql_error());
$money = mysql_fetch_assoc($mon);
$moneyingame = $amount['ingame'];
表的一个示例

PLAYERNAME AMOUNT
player1    100
player1    100
player2    100
player3    100

因此,当我在CodeIf player1中运行SQL时,它应该返回200

SUM
是一个聚合函数,这意味着它在一组行上工作。要有意义地使用它,您必须告诉SQL这些组使用的是什么


我还要注意这一点。您应该使用数据库不可知论,或者更好

您也不应该将变量直接放入SQL查询中。这会造成一个非常常见的安全漏洞,称为安全漏洞。相反,使用


这将在中进行更详细的讨论。

SUM
是一个聚合函数,意味着它可以处理多组行。要有意义地使用它,您必须告诉SQL这些组使用的是什么


我还要注意这一点。您应该使用数据库不可知论,或者更好

您也不应该将变量直接放入SQL查询中。这会造成一个非常常见的安全漏洞,称为安全漏洞。相反,使用


这将在中进行更详细的讨论。

谢谢,这是我第一次使用SQL进行学习。谢谢,这是我第一次使用SQL进行学习。
SELECT SUM(amount) AS ingame
FROM players
WHERE playername = ?
GROUP BY playername
$sth = $dbh->prepare("
    SELECT SUM(amount) AS ingame
    FROM players 
    WHERE playername = :playername
    GROUP BY playername
");
$sth->execute(array(':playername' => "player1"));
$ingame = $sth->fetchColumn();