PHP-从MySQL数据库提取数据并放入多维数组

PHP-从MySQL数据库提取数据并放入多维数组,php,mysql,arrays,Php,Mysql,Arrays,我试图在数据库的行中循环(在本例中为玩家)并收集他们的分数。数据库的列表示不同的位置,每个位置的玩家都有一个得分值。由于一个队形中的列数多于位置数,因此查询必须仅选择给定队形中的11列($most_common_formation)。在将分数放入多维数组之前,必须将分数乘以玩家“total_picks”列中的相应值 最后一个数组应该包含25名玩家作为数组,在每个数组中显示“全名”以及11个分数,这些分数乘以“总分数” $team数组保存所有玩家的“全名” 请帮帮我,我快疯了 // Create

我试图在数据库的行中循环(在本例中为玩家)并收集他们的分数。数据库的列表示不同的位置,每个位置的玩家都有一个得分值。由于一个队形中的列数多于位置数,因此查询必须仅选择给定队形中的11列($most_common_formation)。在将分数放入多维数组之前,必须将分数乘以玩家“total_picks”列中的相应值

最后一个数组应该包含25名玩家作为数组,在每个数组中显示“全名”以及11个分数,这些分数乘以“总分数”

$team数组保存所有玩家的“全名”

请帮帮我,我快疯了

// Create array to hold final scores per player
$player_scores = array();

// Loop through all players in $team array
for ($l=0; $l < 25; $l++) {

    // SELECT each players scores per position in $most_common_formation
    $players_picks_query = "SELECT 
                                ?,
                                total_picks,
                                ?,
                                ?,
                                ?,
                                ?,
                                ?,
                                ?,
                                ?,
                                ?,
                                ?,
                                ?,
                                ?
                            FROM table";

    // prepare and bind statement
    $stmt = mysqli_prepare($conn, $players_picks_query) or die(mysqli_error($conn));
    mysqli_stmt_bind_param($stmt, 'ssssssssssss', $player_name, $pos1, $pos2, $pos3, $pos4, $pos5, $pos6, $pos7, $pos8, $pos9, $pos10, $pos11);

    $player_name = $team[$l];
    $pos1 = $most_common_formation[0];
    $pos2 = $most_common_formation[1];
    $pos3 = $most_common_formation[2];
    $pos4 = $most_common_formation[3];
    $pos5 = $most_common_formation[4];
    $pos6 = $most_common_formation[5];
    $pos7 = $most_common_formation[6];
    $pos8 = $most_common_formation[7];
    $pos9 = $most_common_formation[8];
    $pos10 = $most_common_formation[9];
    $pos11 = $most_common_formation[10];

    mysqli_stmt_execute($stmt);
    $result = mysqli_stmt_get_result($stmt);

    while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) {
        foreach ($row as $r) {
            echo "$r ";
        }
        echo "<br>";
    }

    // close statement
    mysqli_stmt_close($stmt);


}
//创建数组来保存每个玩家的最终分数
$player_分数=数组();
//循环遍历$team数组中的所有玩家
对于($l=0;$l<25;$l++){
//选择每个球员在$most_common_队形中每个位置的得分
$players\u picks\u query=“选择
?,
总采摘数,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?,
?
“从表中”;
//准备并绑定语句
$stmt=mysqli\u prepare($conn,$players\u picks\u query)或die(mysqli\u error($conn));
mysqli_stmt_bind_param($stmt,$ssss',$player_name,$pos1,$pos2,$pos3,$pos4,$pos5,$pos6,$pos7,$pos8,$pos9,$pos10,$pos11);
$player_name=$team[$l];
$pos1=$most_common_formation[0];
$pos2=$most_common_formation[1];
$pos3=$most_common_formation[2];
$pos4=$most_common_formation[3];
$pos5=$most_common_formation[4];
$pos6=$most_common_formation[5];
$pos7=$most_common_formation[6];
$pos8=$most_common_formation[7];
$pos9=$most_common_formation[8];
$pos10=$most_common_formation[9];
$pos11=$most_common_formation[10];
mysqli_stmt_execute($stmt);
$result=mysqli\u stmt\u get\u result($stmt);
而($row=mysqli\u fetch\u数组($result,mysqli\u NUM)){
foreach($r行){
回声“$r”;
}
回声“
”; } //结束语 mysqli_stmt_close($stmt); }
不能使用吗?作为select(选择姓名,年龄)的占位符,仅在WHERE name=?,age=?我为什么不能这样做?我听到你问!因为
prepare
会将查询发送到数据库,然后在那里对其进行编译和优化等。现在,如果数据库不知道要检索哪些列。。A) 它不能编译它,B)它绝对不能优化它并生成一个计划