テーブルから列数を取得しようとしています:
$query = "select count(column_name) from information_schema.columns where table_name = '".$tableName."'";
$columns = pg_query($query);
echo $columns;
しかし、数字の代わりに神秘的なResource id #61
. or
のような他の型への変換は役に立ちません。string
int
テーブルから列数を取得しようとしています:
$query = "select count(column_name) from information_schema.columns where table_name = '".$tableName."'";
$columns = pg_query($query);
echo $columns;
しかし、数字の代わりに神秘的なResource id #61
. or
のような他の型への変換は役に立ちません。string
int
pg_query()
リソースを返し、それは正しい動作です。マニュアルで確認できます(とにかく絶対にすべきこと)。
そのリソースから行を取得するには、pg_fetch_all()
や などの関数を使用できますpg_fetch_row()
。両方について読んで、その場合どちらが優れているかを判断してください。
これを試すことができます
$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;