【问题标题】:MSSQL returns multiple rows into array, explode into one array per rowMSSQL 将多行返回到数组中,每行分解为一个数组
【发布时间】:2013-02-27 08:49:57
【问题描述】:

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

我不知道该怎么做。任何帮助将不胜感激!

谢谢,内森


编辑:

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

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

【问题讨论】:

  • 我猜你可以copy the array object 并删除你不需要的行...但是为什么不直接引用index of the different rows
  • 我需要返回所有行,但我需要将它们作为单独的数组使用,而不是作为一个大数组。

标签: php arrays sql-server-2008


【解决方案1】:
$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
...

【讨论】:

  • “我需要将它们作为单独的数组使用”是什么意思?你需要 $r1; $r2; ... 数组?
  • 老兄,效果很好!非常感谢您的解决方案。
  • 我将如何拆分 assoc.数组转换成单独的数组?
  • 在 PHP 中你只能创建动态变量作为类属性,所以如果真的需要它,你应该创建类并存储结果,创建 getter 方法和结果将像: $result->row1; $结果->行2;但是你需要这个做什么?
【解决方案2】:
$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++
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-19
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    相关资源
    最近更新 更多