PHP用のmysqli APIを使い始めたところです。どうやら、クラス MYSQLI のオブジェクトがインスタンス化されるたびに、最初にサーバーに接続してから照会するデータベースを指定する必要がある mysql_connect とは異なり、サーバーに接続するときにデータベースへの接続をセットアップできます。
データベースが存在する場合、これは良い問題です。私の場合、サーバーへの最初の接続/問題の実行時にデータベースが存在しないため、データベースを指定せずに接続する必要があります。コンストラクターは、このデータベースを必須にしません。
私の課題は基本的に、最初の接続を試みる前にデータベースが存在するかどうかを確認する方法です。これを実際に行う唯一の方法は、サーバーへの接続を確立し、次のクエリの結果を使用してデータベースが存在するかどうかを判断することです。
SELECT COUNT(*) AS `exists` FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMATA.SCHEMA_NAME="dbname" ;
これが true を返す場合、データベースは存在しますが、ここでの課題は、クエリでデータベースの名前を前に付けるのではなく、このデータベースをクエリする mysqli オブジェクトを取得する方法です。
どうもありがとう