В настоящее время у меня есть класс, который создает одно соединение с базой данных, однако я бы тоже хотел создать другое соединение.Я попытался скопировать структуру класса, но просто переименовал переменные и функции, однако это не работает, и кажется, что он не определяет, где находится мое новое соединение PDO, когда я получаю ошибку Uncaught Error: Call to a member function prepare() on null in
.Каков наилучший подход в моем случае при создании 2 подключений к базе данных?
config.php:
<?php
class Database
{
private $host = "localhost";
private $db_name = "database1";
private $username = "root";
private $password = "";
public $conn;
public function dbConnection()
{
$this->conn = null;
try
{
$this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password);
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $exception)
{
echo "Connection error: " . $exception->getMessage();
}
return $this->conn;
}
}
?>
class.user.php:
class USER
{
private $conn;
public function __construct()
{
$database = new Database();
$db = $database->dbConnection();
$this->conn = $db;
}
public function runQuery($sql)
{
$stmt = $this->conn->prepare($sql);
return $stmt;
}
}