Teradata / PHP / ODBC循环结果

时间:2016-02-24 16:41:54

标签: php odbc teradata

我有一个简单的查询:

$sql = "SELECT TOP 15 * from (SELECT * from table);";

如果我知道表中标题的名称,我可以像这样循环输出:

  /* Execute */
  $query = odbc_exec($conn, $sql);

  /* Build Array */
  while(odbc_fetch_row($query)){                      
    $x['a']   = odbc_result($query,'COLUMN_HEADER_A'); 
    $x['b']  = odbc_result($query,'COLUMN_HEADER_B');

    $list[] = $x;       
  }
}

然后我在我的$list[]数组中得到了结果,我可以做这样的事情来看东西:

echo "<pre>";
print_r($list);
echo "</pre>";

如果我知道列标题的名称,我可以使用以下语法调用它们:odbc_result($query, 1);,但我仍然不知道它们是什么叫,或者有多少。如何对查询进行简单输出以显示EACH列标题及其数据?

1 个答案:

答案 0 :(得分:1)

我明白了:使用odbc_num_fieldsodbc_field_name选项:

while(odbc_fetch_row($query)){                      
    for ($i=1; $i <= odbc_num_fields($query); $i++) {
      echo "<pre>";
      echo odbc_field_name($query, $i);
      echo "<br>";
      echo odbc_result($query, $i);
      echo "</pre>";    
    }                       
  }