データベース接続を処理し、データベース クラスを呼び出すクラスに mysql 接続を渡す 'Database.php' があります。
データベース.php
<?php
class Database {
private $domain = "localhost";
private $usr = "root";
private $pwd = "password";
private $dbname = "testdb";
private $db;
function __contruct() {
}
function connect() {
$this->db = mysqli_connect($domain, $usr, $pwd, $dbname);
if ($db->connect_errno > 0) {
die("DbConn Fail: \n ".$mysqli->connect_error);
} else {
return $this->db;
}
}
}
?>
Database クラスを呼び出して接続を取得し、SQl ステートメントで接続を使用しようとしている次のテスト クラスがあります。
test.php
<?php
include('Database.php');
$db = new Database();
$conn = $db->connect();
$sql = "SELECT custid FROM `testdb`.`customer`";
$res = mysqli_query($conn, $sql);
$nrows = mysqli_num_rows($res);
echo "Num Rows Found: " . $nrows . "<br>";
if($res) {
echo "fetching...<br>";
while ($row = mysqli_fetch_assoc($res)){
echo "Found Customer ID: " . $row['custid'] . "<br>";
}
}
?>
私が直面している問題は、「Database.php」クラス内にあります。「connect()」関数を介して成功した接続が確立されるたびに、データベース クラスは「データベース」クラスを呼び出しているクラスに有効な mysql 接続を返しますが、以下のデモでは意図したとおりに動作していません。
上記の問題を解決するにはどうすればよいですか?