您应该走空先生的答案中所示的道路。简而言之:
- 摆脱clsDatabase。
- 创建一个PDO实例。
- 像mr.void的答案所示,将其传递到clsDBLogin的属性中。
- 然后以$ this-> db-> prepare()的形式使用此pdo实例,依此类推
所以应该像
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);


