MSSQL将多行返回到数组中,每行分解为一个数组


MSSQL returns multiple rows into array, explode into one array per row

我有一个MSSQL查询,它选择符合特定条件的所有行。在PHP中,我想获取该数组,但随后我想将其转换为每行一个数组。因此,如果我的查询返回3行,我希望有3个可以使用的唯一数组。

我不知道该怎么办。如有任何帮助,我们将不胜感激!

谢谢,Nathan


编辑:

$query = "SELECT * FROM applicants WHERE applicants.user_id ='{$_SESSION['user_id']}'";
$query_select = mssql_query($query , $connection);
if (mssql_num_rows($query_select) == 2){
      $message = '2 students created successfully';
}
$i = 0;
while($row = mssql_fetch_array($query_select)) {
    $student.$i['child_fname'][$i] = $row['child_fname']; 
        $student.$i['child_lname'][$i] = $row['child_lname'];
    $i++;
}
    $query_array1 = $student0;
$query_array2 = $student1;

您将从上面的代码中注意到,我期望返回两行。现在,我想取这两行,并根据结果创建两个数组。我试着使用下面给出的解决方案。也许我的语法不正确,或者我不明白如何正确地实现他的解决方案。但是,如果有任何帮助,我们将不胜感激。

$query = mssql_query('SELECT * FROM mytable');
$result = array();
if (mssql_num_rows($query)) {
    while ($row = mssql_fetch_assoc($query)) {
        $result[] = $row;
    }
}
mssql_free_result($query);

现在你可以像你想要的那样使用数组:

print_r($result[0]); //first row
print_r($result[1]); //second row
...
$i=0;
while( $row = mysql_fetch_array(query){
   $field1['Namefield1'][$i] = $row['Namefield1']; 
   $field2['Namefield2'][$i] = $row['Namefield2']; 
   $field3['Namefield3'][$i] = $row['Namefield3'];
   $i++;
}

或者,如果您偏好二维数组:

$i=0;
while( $row = mysql_fetch_array(query){
   $result['Namefield1'][$i] = $row['Namefield1'];
   $result['Namefield2'][$i] = $row['Namefield2'];
   $result['Namefield3'][$i] = $row['Namefield3'];
   $i++
}