mySQL - 根据登录用户SUM重复行

时间:2013-03-29 18:02:59

标签: php mysql

我正在尝试在mySQL中做一些简单的数学运算。我有一个User表和一个Activities表。每项活动都值得这么多积分。我可以根据将用户与我在进行“用户身份验证>登录用户”时设置的$ _SESSION变量进行匹配来正确显示活动。我甚至可以让它显示列的总和。

我无法做到的是仅使用用户活动显示所述列的总点数。我是一个使用Dreamweaver进行繁重工作的mySQL新手,我已经尝试过我能想到的WHERE语句和SUM()组合的每个组合。

这是我的选择声明:

$MM_Username_physTotal = "username";
if (isset($_SESSION['MM_Username'])) {
  $MM_Username_physTotal = $_SESSION['MM_Username'];
}
mysql_select_db($database_som13connect, $som13connect);
$query_physTotal = sprintf("SELECT SUM(activity.Phys_points) FROM activity WHERE activity.`User` = %s", GetSQLValueString($MM_Username_physTotal, "text"));
$physTotal = mysql_query($query_physTotal, $som13connect) or die(mysql_error());
$row_physTotal = mysql_fetch_assoc($physTotal);
$totalRows_physTotal = mysql_num_rows($physTotal);

这是我选择上述绑定时Dreamweaver插入的CURRENT语句:

<?php echo $physTotal['Phys_points']; ?>

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

尝试在%s

周围添加引号
$query_physTotal = sprintf("SELECT SUM(activity.Phys_points) FROM activity WHERE activity.`User` = '%s'", GetSQLValueString($MM_Username_physTotal, "text"));

您需要在SQL查询中用单引号括起varchar/text