从 mysqli 结果中读取值

Reading values from mysqli result

我正在尝试从我的sqli 查询中读取比较值,但没有成功。

这是我的代码示例:

$sql = "SELECT team, won, lost, points, goals_for, goals_agn FROM teaminfo WHERE tour_id=5 ORDER BY points DESC, (goals_for - goals_agn) DESC, goals_for DESC ;";
$query = $this->db_connection->query($sql);

所以它是一个简单的 sql 查询,我从 teaminfo DB 中获取所有球队,我想根据特定标准(分数、进球...)比较它们,看看哪个球队将进入下一个比赛阶段。

使用类似循环的方式打印所有值很简单:

while ($team=mysqli_fetch_array($query)) {... some code ...}

但我不需要这个。我只想访问其中的几个并进行比较。例如:

//Compare 3rd team points from $query with 4th team points from $query
     If ($team[3]['points']==$team[4]['points']) 
{
       I would do something..

    } else ....

我只需要 "transform" $query,这样我就可以手动使用其中的所有数据。我尝试了 php.net 中的一些东西来获取数据,但就像我说的,一切都不成功。

您可以将所有数据放在一个数组中,然后使用它。

$teams = array();
while ($team=mysqli_fetch_array($query)) {
  $teams[$team['team']] = $team;
}

然后您可以通过$teams['teamname']

访问它们
if($teams['teamA']['points'] == $teams['teamB']['points']){
    // do something
}

可以只使用

 $teams[] = $team;

填充数组。但我建议使用关联填充,因为这样可以更轻松地为团队访问数据。只有一个数字条目,如果你想使用特定团队的数据,你必须检查他们的名字。