odbc_tableprivileges
(PHP 4, PHP 5, PHP 7)
odbc_tableprivileges — 各テーブルのリストおよび関連する権限のリストを取得する
説明
odbc_tableprivileges
( resource $connection_id
, string $catalog
, string $schema
, string $name
) : resource|false
指定した範囲にあるテーブルおよび各テーブルに関連する権限のリストを取得します。
パラメータ
connection_id
- ODBC 接続 ID。詳細は odbc_connect() を参照ください。
catalog
- カタログ(ODBC 2 の用語では '修飾子')。
schema
- スキーマ (ODBC 2 の用語では '所有者')。 このパラメータには以下の検索パターンを使用できます。
%
はゼロ個以上の文字にマッチし、_
はひとつの文字にマッチします。 name
- 名前。 このパラメータには以下の検索パターンを使用できます。
%
はゼロ個以上の文字にマッチし、_
はひとつの文字にマッチします。
返り値
ODBC 結果 ID を返します。失敗した場合に false
を返します。
結果セットのカラムは次のようになります。
TABLE_CAT
TABLE_SCHEM
TABLE_NAME
GRANTOR
GRANTEE
PRIVILEGE
IS_GRANTABLE
ドライバは追加のカラムを返すことが出来ます。
結果セットは TABLE_CAT
, TABLE_SCHEM
,
TABLE_NAME
, PRIVILEGE
, GRANTEE
でソートされます。
例
例1 テーブルの権限を表示する
<?php$conn = odbc_connect($dsn, $user, $pass);$privileges = odbc_tableprivileges($conn, 'SalesOrders', 'dbo', 'Orders');while (($row = odbc_fetch_array($privileges))) { print_r($row); break; // further rows omitted for brevity}?>
上の例の出力は、 たとえば以下のようになります。
Array ( [TABLE_CAT] => SalesOrders [TABLE_SCHEM] => dbo [TABLE_NAME] => Orders [GRANTOR] => dbo [GRANTEE] => dbo [PRIVILEGE] => DELETE [IS_GRANTABLE] => YES )