我正在为疯狂的 nfl 联盟创建一个可排序的力量排名列表。如果你想看到它在
http://www.stephenjesse.com/projects/powerrankings/index.php
当我尝试从上次保存的排名计算更改时遇到的问题,用于获取上次排名的查询返回 null 有时会导致更改错误,因为它认为旧排名为 0 而不是。这是 for 循环的基本片段
foreach($order as $team)
{
$query="SELECT * FROM powerrankings WHERE team='$team'";
echo "query to select team:".$query."\n\n";
$result=mysqli_query($db,$query) or die(mysqli_error($db));
$selectedTeam=$result->fetch_assoc();
$oldRank=intval($selectedTeam['ranking']);
$change=$oldRank-$rank;
我不太确定出了什么问题,我检查了 apache 错误日志,我尝试输出 mysqli_errer() 并且我检查了 mysql.log 错误日志,但没有任何显示。我尝试在查询之间睡 5 秒以防万一查询被快速触发,但这不起作用。它只有几次。这是我在页面上的调试输出示例
查询以选择团队:SELECT * FROM powerrankings WHERE team='Panthers'
球队:黑豹队 旧排名:5 新排名:1
array(7) { ["ranking"]=> string(1) "5" ["team"]=> string(8) "Panthers" ["comment"]=> string(0) "" ["change" ]=> string(1) "0" ["record"]=> string(5) "0-0-0" ["low"]=> string(1) "5" ["high"]=> string (1) "5" } 数组转储:
查询以选择团队:SELECT * FROM powerrankings WHERE team='Bills'
团队:Bills 旧排名:0 新排名:2
空数组转储:
查询以选择团队:SELECT * FROM powerrankings WHERE team='Falcons'
球队:猎鹰 旧排名:0 新排名:3
空数组转储:
查询选择球队:SELECT * FROM powerrankings WHERE team='Cardinals'
球队:红雀队 旧排名:0 新排名:4
空数组转储:
查询以选择团队:SELECT * FROM powerrankings WHERE team='Ravens'
球队:乌鸦队 旧排名:0 新排名:5
空数组转储:
查询以选择团队:SELECT * FROM powerrankings WHERE team='Bears'
团队:熊 旧等级:6 新等级:6
array(7) { ["ranking"]=> string(1) "6" ["team"]=> string(5) "Bears" ["comment"]=> string(0) "" ["change" ]=> string(1) "0" ["record"]=> string(5) "0-0-0" ["low"]=> string(1) "6" ["high"]=> string (1) "6" }
你可以看到它有时有效,有时无效。任何帮助将不胜感激。