0

作成したスクリプトのインストールファイルを作成しています。データベースの詳細を入力するためのフィールドも提供します。とにかく、これらのデータベースの詳細をconfig.phpファイルに保存する前に、それらが機能するかどうかを確認したいと思います。提供された詳細が有効かどうかを確認するための最良の方法は何でしょうか?ダミークエリを実行することを考えました。成功した場合は、詳細をファイルに保存します。最適なクエリが何であるかわかりませんか?私はすべてにPDOを使用しています。したがって、続行するには、基本的にデータベース接続が成功したかどうかを確認する必要があります。

ユーザー入力ですべてが問題ないかどうかを確認する方法について、アイデアを教えてください。私のダミークエリのアイデアはこれを処理するための良い方法ですか?はいの場合、どのクエリを実行する必要がありますか?いいえの場合、あなたは何を提案しますか?

ありがとう。

4

4 に答える 4

2

SQLサーバーを使用している場合は、「select1」のようなものがその役割を果たします。他の多くのデータベースエンジンもこのクエリをサポートすると思います。

于 2012-11-23T22:32:04.263 に答える
1

最善の方法は、必要なものすべてを個別にテストする一連のクエリ/コマンドを発行することです。

  1. 接続を開くことができます
  2. データベースがあります/作成できます
  3. ユーザーはデータを見ることができます/データを構築することができますなど。

次に、インストールの一部として、何かが正しくないかどうかをユーザーに伝え、問題を直接指摘して解決することができます。あまりロールバックする必要がないように、インストールの早い段階でこれを行う必要があります。

インストールの経験について考えてください。プログラムをインストールするときに何が欲しいですか。ただ言いたいですか

 "Error. Can't connect", 
 or 
 "Error: Cannot connect to DATABASEX the SERVERY with the USERID_W", 
 or even better 
 "Error: Can connect to the DATABASEX the SERVERY with the USERID_W, but table X is missing, have you completed step ABC first?"

ユーザーのためにできる限り多くの作業を行います。

于 2012-11-23T22:40:47.653 に答える
0

さて、接続関数がエラー/例外を生成せずに期待値を返す場合、接続は成功したと見なすことができます。それはさておき...

SHOW TABLES FROM $database;

データベースに対する少なくとも基本的な権限を持っていることを示す必要がありますが、テーブルを作成してデータを挿入できるかどうかは示されません。

于 2012-11-23T22:32:12.353 に答える
0

まず、PHPがデータベースに正しく接続しているかどうかを確認します(戻り値、mysqlエラー)。次に、のようなものを使用SHOW VARIABLES LIKE "%version%"してデータベースエンジンのバージョンを判別できるため、すべての関数とメソッドが意図したとおりに機能します。このようにして、dbバージョンがソフトウェアで使用するには古すぎることをユーザーに通知することもできます。

編集

また、のクエリSHOW GRANTS FOR 'user'@'host'は、接続されたユーザーのアクセス許可を確認することをお勧めします

于 2012-11-23T22:44:51.493 に答える