0

テーブルから列数を取得しようとしています:

$query = "select count(column_name) from information_schema.columns where table_name = '".$tableName."'";
$columns = pg_query($query);
echo $columns;

しかし、数字の代わりに神秘的なResource id #61. or
のような他の型への変換は役に立ちません。stringint

4

3 に答える 3

1

pg_query()リソースを返し、それは正しい動作です。マニュアルで確認できます(とにかく絶対にすべきこと)。

そのリソースから行を取得するには、pg_fetch_all()や などの関数を使用できますpg_fetch_row()。両方について読んで、その場合どちらが優れているかを判断してください。

于 2013-10-08T15:01:43.250 に答える
-1

これを試すことができます

$query = "SHOW COLUMNS FROM '".$tableName."' ";
$result= pg_query($query);

if (!$result) {
  echo "An error occurred.\n";
  exit;
}
$i = 1;
while ($row = pg_fetch_row($result)) {
  echo "Column[$i] names: ".$row[0]."";
  echo "<br />";
  $i++;
}

echo "Column Count: ".$i;
于 2013-10-08T15:14:08.690 に答える