Re: PHP PDO getting data from pgSQL stored function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



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





[Index of Archives]     [Postgresql General]     [Postgresql Admin]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Yosemite Backpacking]     [Postgresql Jobs]

  Powered by Linux