Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果列中已存在5次,则不允许输入值_Php_Database_Reference_User Registration - Fatal编程技术网

Php 如果列中已存在5次,则不允许输入值

Php 如果列中已存在5次,则不允许输入值,php,database,reference,user-registration,Php,Database,Reference,User Registration,我正在试图找到数据库中具有特定id的前5个用户的总数 为什么它要创建所有用户的总数而不限于前五个? 如何获得数据库中具有特定id的前5个用户的总数,而不计算其余用户的总数?下面是我的代码 $result2 = mysql_query("SELECT SUM(amt) AS value_sum FROM users WHERE r1=$id ORDER BY amt DESC LIMIT 5"); $row = mysql_fetch_assoc($result2); $sum = $r

我正在试图找到数据库中具有特定id的前5个用户的总数

为什么它要创建所有用户的总数而不限于前五个? 如何获得数据库中具有特定id的前5个用户的总数,而不计算其余用户的总数?下面是我的代码

$result2 = mysql_query("SELECT SUM(amt) AS value_sum FROM users WHERE r1=$id  ORDER BY   
amt DESC LIMIT 5");
$row = mysql_fetch_assoc($result2); 
$sum = $row['value_sum'];
echo $sum;
这样行吗

SELECT SUM(amt) FROM (SELECT amt FROM users WHERE r1=$id ORDER BY amt DESC LIMIT 5
更新:

更新2:

上面的查询应该有效,我在自己的表上以类似的方式进行了测试,我不知道为什么它不适用于您。尽管如此,我还是编写了一个PHP片段,可能会对您有所帮助,但它会在代码中计算总和

$result2 = mysql_query("SELECT amt FROM users WHERE r1=$id ORDER BY amt DESC LIMIT 5");
if (!$result2) {
   die("error in query");
}
$sum = 0;
while ($row = mysql_fetch_assoc($result2)) {
   $sum += $row["amt"];
}

我是否在关闭查询后插入作为值\u sum,因为我无法正确获得它,请您给我带有标记的代码我得到错误这里是我的新代码$result2=mysql\u query选择sumant作为值\u sum来自用户,其中r1=$id ORDER BY users.amt DESC LIMIT 5作为值\u sum;这里是错误警告:mysql\u fetch\u assoc期望参数1是resource,布尔值在C:\xampp\htdocs\milsoft\members\software\level1中给出……谢谢,我得到了它,但现在它没有从用户中选择值\u sum$result2=mysql\u querySELECT summant,其中r1=.$id.ORDER BY amt DESC LIMIT 5作为值\u sum$row=mysql\u fetch\u assoc$result2$sum=$row['value_sum'];它给了我一个错误,注意:未定义索引:value_sum inits仍然给我所有用户的总和,它仍然不限于前5个。我真的被困在这里了,谢谢你。我什么都试过了,但还是没有限制
$result2 = mysql_query("SELECT amt FROM users WHERE r1=$id ORDER BY amt DESC LIMIT 5");
if (!$result2) {
   die("error in query");
}
$sum = 0;
while ($row = mysql_fetch_assoc($result2)) {
   $sum += $row["amt"];
}