0

PHP用のmysqli APIを使い始めたところです。どうやら、クラス MYSQLI のオブジェクトがインスタンス化されるたびに、最初にサーバーに接続してから照会するデータベースを指定する必要がある mysql_connect とは異なり、サーバーに接続するときにデータベースへの接続をセットアップできます。

データベースが存在する場合、これは良い問題です。私の場合、サーバーへの最初の接続/問題の実行時にデータベースが存在しないため、データベースを指定せずに接続する必要があります。コンストラクターは、このデータベースを必須にしません。

私の課題は基本的に、最初の接続を試みる前にデータベースが存在するかどうかを確認する方法です。これを実際に行う唯一の方法は、サーバーへの接続を確立し、次のクエリの結果を使用してデータベースが存在するかどうかを判断することです。

SELECT COUNT(*) AS `exists` FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMATA.SCHEMA_NAME="dbname" ;

これが true を返す場合、データベースは存在しますが、ここでの課題は、クエリでデータベースの名前を前に付けるのではなく、このデータベースをクエリする mysqli オブジェクトを取得する方法です。

どうもありがとう

4

1 に答える 1

1

USE databasenameクエリが現在機能しているデータベースを変更するため。またはもちろん使用できます$mysqli->select_db('databasename');

于 2012-06-25T20:17:36.927 に答える