आपको श्रीमान शून्य के उत्तर में दिखाई गई सड़क को अपनाना चाहिए। संक्षेप में:
- clsDatabase से छुटकारा पाएं।
- पीडीओ का एक उदाहरण बनाएं।
- इसे clsDBLogin की संपत्ति में पास करें जैसे कि यह mr.void's answer में दिखाया गया है।
- फिर इस pdo उदाहरण का उपयोग $this->db->prepare() इत्यादि के रूप में करें
तो यह ऐसा होना चाहिए
class clsDBLogin
{
public function __construct($db)
{
$this->db = $db;
}
public function validateLogin($email)
{
$email = trim($email);
// Check user in db to start verification
$query = 'SELECT * FROM users u, users_info ui
WHERE u.users_id = ui.users_id AND u.email = ?';
$stmt = $this->db->prepare($query);
$stmt->execute([$email]);
return $stmt->fetch();
}
}
$dsn = 'mysql: host=localhost;dbname=test;charset=utf8';
$options = array(
PDO::ATTR_PERSISTENT => true,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
);
// Create a new PDO instanace
$pdo = new PDO($dsn, $this->user, $this->pass, $options);
$DBLogin = new clsDBLogin($pdo);
$user = $DBLogin->validateLogin($email);