-1

データベースのテーブルのすべての名前を表示するために使用するこのコードがあります。

以前は機能していましたが、突然何も表示されなくなりました..見ていただけますか?私は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;
    }
}

ありがとう

4

1 に答える 1

0

これは、テーブルの列名を取得するかなり厄介な方法です。結果セットを無視し、列名にのみ使用して、テーブル内のすべてのデータを読み取ります。ただし、テーブルが空であるため、何も返されていません。

テーブル自体ではなく、メタデータを参照するようにクエリを修正する必要があります。再加工する必要があります。この SQL は、そのテーブルの列名を取得します...

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

その後、それを利用するにはコードを再調整する必要があります。

于 2013-01-07T14:40:57.473 に答える