在mysql中求和一个字段

时间:2013-05-06 22:19:53

标签: php sum

如何从中获取输出:

$VisitorsProfile = $mysql->query("SELECT SUM(views) FROM visitors_profile WHERE publisher = '123456'");

我试过了,但没有任何东西打印出来!

<?php echo $VisitorsProfile['sum'] ?>

有什么建议吗?

3 个答案:

答案 0 :(得分:0)

来自Get sum of MySQL column in PHP

SELECT SUM(column_name)FROM table_name; 在PHP代码中,试试这个:

$result = mysql_query('SELECT SUM(value) AS value_sum FROM codes'); 
$row = mysql_fetch_assoc($result); 
$sum = $row['value_sum'];

答案 1 :(得分:0)

你需要命名列,我知道它听起来很奇怪,但它应该是

$VisitorsProfile = $mysql->query("SELECT SUM(views) as totals FROM visitors_profile WHERE publisher = '123456'");

并且如下所示,您需要查询中的mysql_fetch_assoc函数,以便您可以按名称引用它。 然后你可以通过

来引用它
<?php echo $VisitorsProfile['totals'] ?>

你只需要将其称为“某物”。无论你把这个词放在你所能引用的内容之后,我都不会使用类似“sum”的东西,因为这是一个mysql函数,可能会导致问题。

答案 2 :(得分:0)

PHP允许您按列名或列索引获取信息。建议的方法是按列名称进行,因为这样可以更改查询的列顺序,而不会影响PHP代码。

因此,要获得它,您需要在查询中添加列别名:

$rs = mysql_query("SELECT SUM(value) AS total FROM visitors_profile WHERE publisher = '123456'"); 
if ($row = mysql_fetch_assoc($rs)) {
    echo $row['total'];
}
  • 在第一行,您实际上正在运行查询。检查列别名:“total”。
  • 在第二行,您要求数组或特别是结果集中的“地图”。换句话说,通过调用mysql_fetch_assoc,您需要一个其元素按名称可用的数组。该数组表示结果集中的一行。
  • 在第三行,您将打印实际金额。

检查$ row赋值中的“if”。这将帮助您在尝试打印之前验证结果行。我建议你在你调用mysql_query的行上做同样的事。

编辑: 对不起,我认为你正在使用对象,所以看起来应该是这样的:

$rs = $mysql->query("SELECT SUM(value) AS total FROM visitors_profile WHERE publisher = '123456'"); 
if ($row = $mysql->fetch_assoc($rs)) {
    echo $row['total'];
}