Mysql php中的SQL求和行
我现在有一个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
$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();