首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中回显表格的总和

在PHP中回显表格的总和
EN

Stack Overflow用户
提问于 2012-02-02 09:01:26
回答 4查看 409关注 0票数 5

我在一个名为Points的表中有两列。这两列是UserPoints和UserID。

我希望能够回显用户拥有的总点数。

我有这样的东西,但我不认为它是正确的。

代码语言:javascript
复制
$getTotalPoints = mysql_query("SELECT SUM(UserPoints) FROM `Points` WHERE `UserID` = '1'") or die(mysql_error()); 
$totalPoints = mysql_fetch_array($getTotalPoints);

当我通过回显"$totalPoints“来回显上面的语句时,我得到了”数组“。

有人知道执行此操作的正确查询吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-02 09:19:01

您将获得Array,因为这是存储在$totalPoints中的内容。仔细观察您的代码,您将看到您使用了mysql_fetch_array()函数,该函数以数组的形式从结果集中检索一行结果。如果您在$totalPoints上执行var_dump(),您将看到以下内容:

代码语言:javascript
复制
Array
(
    [0] => 12345
    [SUM(UserPoints)] => 12345
)

您要查找的总和位于索引0或列名,在本例中为SUM(UserPoints),因此可以使用echo $totalPoints[0]echo $totalPoints['SUM(UserPoints)']输出它。

或者,您可以使用mysql_result()函数。我认为这更符合您预期的行为。它从结果集中的行中获取单个值。所以,你写的不是mysql_fetch_array()而是:

代码语言:javascript
复制
$totalPoints = mysql_result($result, 0);

有关mysql_result()的更多信息,请查看PHP documentation for it

顺便说一句,如果可以选择的话,我建议您不要使用mysql_*函数。更新的接口,比如PDO,或者至少mysqli,会更好。当然,这取决于你的项目……如果您使用的是大型遗留代码库,则可能很难更改。但是如果你现在开始,我想你会从新的库中受益。你可以在这个article I wrote中看到我的观点和一些关于转换扩展的指导。

希望这能帮到你。祝你好运!

票数 4
EN

Stack Overflow用户

发布于 2012-02-02 09:07:23

mysql_fetch_array以关联数组和/或数字数组的形式获取结果行。默认情况下,两者都会创建。你所需要做的就是echo $totalPoints[0];

或者,如果您将请求重写为

代码语言:javascript
复制
$getTotalPoints = mysql_query("SELECT SUM(UserPoints) total FROM `Points` 
        WHERE `UserID` = '1'") or die(mysql_error()); 
$totalPoints = mysql_fetch_array($getTotalPoints);
echo $totalPoints['total'];
票数 1
EN

Stack Overflow用户

发布于 2012-02-02 09:07:25

mysql_fetch_array返回一个数组。因此,您需要将$totalpoints视为一个数组。

尝试将此行添加到代码段的末尾:

echo $totalPoints[0];

有几种使用mysql函数检索数据的方法,我建议在php手册中阅读。

这是mysql_fetch_array

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9105717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档