Hi basically create a function returning a table, then select * from function() can be called from php. below is a complete sql language function i wrote returning a table. create or replace function show_privilege(p_grantee name) returns table(grantee name ,role_name name ,grantor name ,table_catalog name ,table_name name ,privilege_type varchar) as $$ select AR.grantee::name ,AR.role_name::name ,RTG.grantor::name ,RTG.table_catalog::name ,RTG.table_name::name ,privilege_type from information_schema.applicable_roles AR left outer join information_schema.role_table_grants RTG on (AR.role_name = RTG.grantee) where AR.grantee = p_grantee; $$ language sql; you'll notice the returns table defines the rows in the return. on one of my databases, if i run: select * from show_privilege('wuggly_ump_admin'); i get grantee | role_name | grantor | table_catalog | table_name | privilege_type ------------------+-----------+---------+---------------+------------+---------------- wuggly_ump_admin | sys_user | | | | (1 row) i hope that helps. reiner On 2 nov 2013, at 16:54, Michael Schmidt <css.liquid@xxxxxxxxx> wrote: > Hi guys, > > i need to do a ugly select which i dont want to place in my php code. > I use PDO all the time. > > I want to return a structure which is the same as a table i have created. > > I want to write it in pgSQL. > > Now my question, how can i return that and access it with PHP PDO? > Should I use a cursor or shoul I use the return of the function (if it is possible)? > > Can someone provide a piece of example code? > > Thanks for help > > > -- > Sent via pgsql-php mailing list (pgsql-php@xxxxxxxxxxxxxx) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-php -- Sent via pgsql-php mailing list (pgsql-php@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-php