2012-01-13 6 views
0

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

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

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

私はこれを使用しています私は、ローカルシステムから値を取得しますが、クライアントのデータベースから値を取得できません。 質問に間違いがありますか?

答えて

1

私が正しく理解していれば、クエリはローカルマシンで正常に動作しますが、実際の環境ではうまく動作しません。

おそらく、ライブ環境のMySQLユーザーにアクセス不足がありますか?

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

そして、あなたがローカルホスト外のデータベースに接続する場合は、おそらくlocalhost部分も、正しいユーザー名にuserを置き換える:ライブ環境MySQLデータベースにこのような何かを実行してみてください。

+0

これは、テーブル名のクエリを取得した後、最初にこのクエリを実行することを意味しますか? – Kichu

+0

このクエリはどこで実行する必要がありますか?phpmyadminまたはphpページから直接ですか? – Kichu

+0

ありがとうございますwork.now私はライブ環境から最後に作成されたテーブル名を取得 – Kichu

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 

あなたは、結果を取得してください。

+0

iamがphpmyadminでこのクエリを直接実行しているときに結果が得られました – Kichu

+0

検索結果には情報がありますか?その場合は、table_schema = 'your_database'でフィルタリングしますが、今回は結果から名前をコピーします。私はあなたの最初の試みで誤字かもしれません。 – vik

関連する問題