まず第一に、私の英語が完璧でない場合は申し訳ありません。英語は私の母国語ではありません。自分を理解してもらえるように頑張ります。
mysqli を使用してデータベースに接続してクエリを実行するために必要なすべての手順を作成しようとしています。これらは、必要に応じて含まれる別の php ファイルに残ります。これは、データベースに接続するためのコードを常に記述しなくて済むようにするためです。
私の dbConnection.php ファイルには次のものがあります。
<?php
require("login.php");
$connection;
function connect() {
global $connection;
$connection = new mysqli($host, $username, $password, $database);
if ($connection->connect_errno) {
printf("Connection failed: %s\n", $connection->connect_error);
exit();
}
}
function mysqlQuery($query) {
global $connection;
if($connection == NULL) connect();
$result = $connection->query($query);
if (!$result) {
printf("Query failed: %s\n", $connection->error);
exit();
}
return $result;
}
?>
(login.php には接続用の変数があります)
データベースに接続する必要があるときは、require("dbConnection.php"); を使用します。
問題は、mysqlQuery 関数を呼び出すと、常に「クエリに失敗しました: データベースが選択されていません」と表示されることです。データベース名が正しいと確信しています。
コードをスクリプトで (個別のファイルではなく) 直接使用すると、正常に動作します。
前もって感謝します。
問題は解決しました。グローバル $host、$username、$password、$database として宣言するのを忘れていました。