-1

PHPを使用してMySQLデータベースから最後に作成されたテーブル名を取得したいと思います。

クエリも使用しましたが、値を取得できません。これはクエリです:

"select table_name from information_schema.tables where table_schema = 'databse_name' order by create_time desc limit 1"

これを使用している場合、ローカルシステムから値を取得しますが、クライアントのデータベースからは値を取得しません。私のクエリの間違いは何ですか?

4

2 に答える 2

1

私が正しく理解していれば、クエリはローカルマシンでは正常に機能しますが、ライブ環境では機能しませんか?

おそらく、ライブ環境のMySQLユーザーのアクセスが不十分ですか?ライブ環境のMySQLデータベースで次のようなものを実行してみてください。

GRANT SELECT ON information_schema.tables TO `user`@`localhost`

また、ローカルホストの外部のデータベースに接続する場合userは、正しいユーザー名に置き換えます。localhost

于 2012-01-13T11:00:12.443 に答える
0

アクセスしたいデータベースに対する許可はありますか?

これを試してください:

select create_time, table_name, table_schema 
from information_schema.tables 
where table_schema not in ('mysql')
and table_schema not like '%_schema'  
order by create_time desc 

結果が得られますか。参照しているデータベースの結果が得られない場合は、それがアクセス許可である必要があります。

于 2012-01-13T11:07:35.527 に答える