2012-02-13 17 views
1

私はデータベース管理システムについて考えていますが、私の質問は簡単です:PHPのデータベース権限を取得しますか?

PHPコードでアクセス権(書き込み、読み取り専用など)を取得する簡単で信頼性の高い方法はありますか?

私はまだコードを書いていませんが、これは私の心の中にあります。これはちょうど私がいくつかのテーブルを構成するのに役立ちます。

+0

http://dev.mysql.com/doc/refman/5.0/ja/show-privileges.html – ZiTAL

+1

http://dev.mysql.com/doc/refman/5.0/ja/show-grants.html – vascowhite

+0

ありがとう@vascowhite、私はちょうど 'GRANT ALL PRIVILEGES ON *。* TO 'root' @ 'localhost' IDENTIFIED BY ... 'のような結果を与えて、いくつかの文字列を解析する必要がありますが、それに対処することができます;) –

答えて

2

すべてのデータベース権限は、デフォルトのmysqlデータベース:information_schemaに保存されています。このテーブルのエントリを表示する権限を持つMySQLユーザーを作成し、PHPスクリプトから接続するときにこのユーザーのログイン資格情報を使用するだけです。さまざまな権限テーブル(DBレベル、テーブルレベル、および列レベルの権限を含む)から取得権限を取得して、ユーザーの権利を報告することができます。何かのように:

SELECT * FROM`information_schema`.`user_privileges` WHERE`grantee` LIKE"'user'%"; 

このクエリを実行したら、PHPで好きなように結果をフォーマットすることができます。

+0

ありがとう、私はこの表を扱います。私は本当にそれを深く見たことはありませんでした。 –

関連する問題