我如何从这个得到输出:
$VisitorsProfile = $mysql->query("SELECT SUM(views) FROM visitors_profile WHERE publisher = '123456'");
我试过了,但是没有打印出我!
<?php echo $VisitorsProfile['sum'] ?>
有什么建议吗?
你需要给列命名,我知道这听起来很奇怪,但应该是
$VisitorsProfile = $mysql->query("SELECT SUM(views) as totals FROM visitors_profile WHERE publisher = '123456'");
和如下所示,您需要在查询上使用mysql_fetch_assoc函数,以便您可以通过名称引用它。然后你可以通过
引用它<?php echo $VisitorsProfile['totals'] ?>
你只需要引用它"作为"某物。无论你在单词后面输入什么,我都不会使用"sum"这样的东西,因为这是mysql函数,可能会导致问题。
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"。
- 在第二行中,您要求从结果集中获取数组或特定的"map"。换句话说,通过调用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'];
}