Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sử dụng lớp cơ sở dữ liệu PDO mà không cần tạo kết nối mới mỗi lần?

Bạn nên đi theo con đường được hiển thị trong câu trả lời của mr.void. Tóm lại:

  1. thoát khỏi clsDatabase.
  2. Tạo một phiên bản của PDO.
  3. chuyển nó vào thuộc tính của clsDBLogin giống như nó được hiển thị trong câu trả lời của mr.void.
  4. Sau đó, sử dụng phiên bản pdo này ở dạng $ this-> db-> started (), v.v.

Vì vậy, nó sẽ giống như

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);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm kiếm tất cả các lần xuất hiện của một chuỗi trong cơ sở dữ liệu mysql

  2. MySQL Delete với Group By

  3. Laravel Cột JSON truy vấn hùng hồn với Where In?

  4. Cân bằng tải với ProxySQL cho Percona XtraDB Cluster

  5. Làm cách nào tôi có thể thực hiện một THAM GIA Tùy chọn bằng SQL