一般的に使用されるメソッド (opendb) を、接続構成ファイル (connect.php) と同じクラスおよびファイルに配置しようとしています。図 A を参照してください。
class qcon{
public static $conn;
function dbcon()
{
if (empty($conn))
{
$host = 'x';
$username = 'x';
$password = 'x';
$dbname = 'x';
$conn = mysqli_connect($host , $username , $password ,$dbname) or die("Oops! Please check SQL connection settings");
}
return $conn;
}
function openDB($conn)
{
if (!$conn)
{
$this->error_msg = "connection error could not connect to the database:! ";
return false;
}
$this->conn = $conn;
return true;
}
ここで、別のクラス ファイルでメソッドを適切に使用できるように、図 A の接続出力を渡すことができるようにしたいと考えています。class.php と呼びます。レコードを表示するための class.php の関数の例を次に示します。図を参照してください。B
require_once("assets/configs/connect.php");
class dbcats {
var $conn;
function getResult(){
$result = mysqli_query($this->conn , "SELECT * from felines" );
if ($result) {
return $result;
}
else {
die("SQL Retrieve Error: " . mysqli_error($this->conn));
}
}
function closeDB() {
mysqli_close($this->conn);
}
さて、仕事への呼び出しを取得するために、下の図 C は私がいる場所です。私は少し立ち往生しています。
$db1 = new qcon();
$helper = new dbcats();
$db1->openDB();
$helper = $db1;
$result = $helper->getResult();
ここにいます。ロジックは非常に単純です (よくわからない場合は質問を更新します) 通話を機能させるために必要な修正について、誰かがアドバイスしてくれますか?