MSSQL将多行返回到数组中,每行爆炸成一个数组

时间:2013-03-12 00:21:32

标签: php arrays sql-server-2008

我有一个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;

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

2 个答案:

答案 0 :(得分:0)

$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++
}

答案 1 :(得分:0)

$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
...