很难准确定位这段代码的问题所在。我期望它通过循环运行一定次数,并使用从表单接收到的一些值更新表 tbl_games 中的某些行。
我尝试在没有变量的情况下在 phpMyAdmin 中运行代码,效果很好(更新指定的行)。我认为问题与 $insert_q 中的字符串有关。
gamecount 将始终为 int<30,game_ID 将是 tbl_games 中唯一的主键整数值。
一点背景:这个代码是一个更大的项目的一部分——它以足球比赛为中心。管理员将游戏添加到 tbl_games(已编码并已完成),此当前文件现在向管理员显示未玩的游戏(team1 和 team2 的得分为 NULL)并为他们提供输入每个团队得分的空间。此代码采用这 2 个分数,以及 game_ID 并更新每一行。
但它对数据库行没有影响。请指出我正确的方向。
<?php
$lim=$_SESSION['gamecount'];
for ($i=1; $i<$lim; $i++) {
$game_ID = ${"_SESSION['game".$i."_ID']"};
$score_team_1 = ${"_REQUEST['".$i."_team1-score']"};
$score_team_2 = ${"_REQUEST['game".$i."_team2-score']"};
$insert_q = "UPDATE tbl_games SET team1_score = '$score_team_1', team2_score = '$score_team_2' WHERE game_ID = '$game_ID';";
mysql_query($insert_q);
}
session_destroy();
?>