PHP-填写表单i后,尝试在SQL代码中为多个玩家执行循环$

PHP-填写表单i后,尝试在SQL代码中为多个玩家执行循环$,php,mysql,sql,loops,Php,Mysql,Sql,Loops,在填写表单i$后,尝试在SQL代码中为多个玩家执行循环 似乎无法在网上找到答案。谢谢你能为我提供的任何帮助 <?php $con = mysql_connect("localhost","username","password"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("mbbcom1_rfhl", $con); for ($i=1; $i<=6; $i

在填写表单i$后,尝试在SQL代码中为多个玩家执行循环

似乎无法在网上找到答案。谢谢你能为我提供的任何帮助

<?php
$con = mysql_connect("localhost","username","password");
if (!$con)
{
    die('Could not connect: ' . mysql_error());
}    
mysql_select_db("mbbcom1_rfhl", $con);

for ($i=1; $i<=6; $i++)
{       
    $sql="UPDATE `mbbcom1_rfhl`.`_statbu`
        SET gp= gp + '$_POST[gp$i]', g= g + '$_POST[g$i]', a= a + '$_POST[a$i]', shot=    shot + '$_POST[s$i]', pm= pm + '$_POST[pm$i]', ppg= ppg + '$_POST[ppg$i]', shg= shg + '$_POST[shg$i]', bs= bs + '$_POST[blk$i]', gwg= gwg + '$_POST[gwg$i]', sog= sog + '$_POST[sog$i]', soa= soa + '$_POST[soa$i]', pim= pim + '$_POST[pim$i]' WHERE `season` =9 AND `_statbu`.`player_id` = $i ORDER BY `_statbu`.`player_id` ASC";
}

if (!mysql_query($sql,$con))
{
    die('Error: ' . mysql_error());
}
mysql_close($con)
?> 

当您向代码添加一些适当的缩进时,很明显您正在for循环之外运行查询,因此它只能运行最后一次更新。

考虑到您实际上没有提到问题所在,我将假设您的数据库实际上也没有按照您希望的方式得到更新。我认为这是因为在for循环中,实际上并没有执行sql语句。如果仔细观察,您所做的就是生成sql字符串。您需要将以下语句放在for循环内,而不是像当前那样放在for循环外

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

您的更新查询错误,它不能有order by。 您需要在循环内执行查询:

for ($i=1; $i<=6; $i++)
{       
    $sql = "UPDATE `mbbcom1_rfhl`.`_statbu`
    SET gp= gp + '$_POST[gp$i]', g= g + '$_POST[g$i]', a= a + '$_POST[a$i]', shot= shot + '$_POST[s$i]', pm= pm + '$_POST[pm$i]', ppg= ppg + '$_POST[ppg$i]', shg= shg + '$_POST[shg$i]', bs= bs + '$_POST[blk$i]', gwg= gwg + '$_POST[gwg$i]', sog= sog + '$_POST[sog$i]', soa= soa + '$_POST[soa$i]', pim= pim + '$_POST[pim$i]' 
    WHERE `season` =9 AND `_statbu`.`player_id` = $i"; 
    // ORDER BY `_statbu`.`player_id` ASC";


  if (!mysql_query($sql,$con))
  {
      die('Error: ' . mysql_error());
  }
}

对于($i=1;$i)错误是什么?您遇到了什么问题?哇,这些是一些看起来很吓人的mysql列名!