在显示所有数据库表字段名称时出现问题

时间:2013-01-07 14:05:13

标签: sql sql-server

我有这个代码,我用它来显示数据库表的所有名称。

它曾经工作......但突然它不会出现任何东西.. 你能看一下吗? 我正在使用SQL。

$section = "SELECT * FROM forma";
$res = odbc_exec($connection, $section) or die(odbc_error());   
    $firstrow = false;
while ($row = odbc_fetch_array($res)){
    if (!$firstrow) {
        foreach ($row as $column => $value) {
            echo "<label> " . $column . "</label>";
        echo "<input type='checkbox' name='data[]' value='" . $column . "' /><br/><br/>"; 
        }
$firstrow = true;
    }
}

由于

1 个答案:

答案 0 :(得分:0)

这是一种检索表的列名的相当讨厌的方法。它正在做的是读取表中的所有数据,忽略结果集并仅将其用于列名。然而,正在发生的事情是该表是空的,因此根本没有返回任何内容。

您需要修改查询以查看元数据而不是表本身。你需要重做它。此SQL将为您检索该表的列名...

Select Columns.Name
  From Sys.Columns
 Where Object_Name(Columns.Object_id) = 'forma'
 Order By Columns.Column_Id;

之后,您需要重新设置代码才能利用它。