Thread: How can I get metadate of a table in PHP3?

How can I get metadate of a table in PHP3?

From
Zhidian Du
Date:
Hi:

How can I get metadate of a table in PHP3?


Thanks.


Zhidian Du

Re: How can I get metadate of a table in PHP3?

From
knut.suebert@web.de
Date:
Zhidian Du schrieb:

> How can I get metadate of a table in PHP3?

If you think about things like the output of "\d tablename", turn on
the logging of queries, do a "\d tablename" and watch the
logfiles.

Somewhere I need the fieldtypes of a table named $this->table, the
query is

      $q = "SELECT a.attname, format_type(a.atttypid, a.atttypmod)
        FROM pg_class c, pg_attribute a
        WHERE c.relname = '".$this->table."'
        AND a.attnum > 0 AND a.attrelid = c.oid
        ORDER BY a.attnum";

which is stolen from the logs - I'll never understand it ;)

Greetings,
Knut Sübert

Re: How can I get metadate of a table in PHP3?

From
Zhidian Du
Date:
My meaning is how can I get all the fields name of a table?

ID  Name  Age ....
1  John   20
2 Smith  23
.....

Get ID, Name and Age and so on.





knut.suebert@web.de wrote:
Zhidian Du schrieb:
 
How can I get metadate of a table in PHP3?   
If you think about things like the output of "\d tablename", turn on
the logging of queries, do a "\d tablename" and watch the
logfiles.

Somewhere I need the fieldtypes of a table named $this->table, the
query is
     $q = "SELECT a.attname, format_type(a.atttypid, a.atttypmod)       FROM pg_class c, pg_attribute a       WHERE c.relname = '".$this->table."'       AND a.attnum > 0 AND a.attrelid = c.oid       ORDER BY a.attnum";

which is stolen from the logs - I'll never understand it ;)

Greetings,
Knut Sübert

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

 

Re: How can I get metadate of a table in PHP3?

From
"scott.marlowe"
Date:
On Sun, 1 Sep 2002, Zhidian Du wrote:

> Hi:
>
> How can I get metadate of a table in PHP3?

I haven't driven PHP V3 since V4 came out, so I'm not sure if these are
supported, but try these commands:

pg_field_name()
pg_field_type()

You can do a "select * from table limit 1" to get a sample row.  Then use
pg_num_rows() to find out how many rows you have and iterate the name and
type functions over each field to find out.