Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Gunakan kelas basis data PDO tanpa membuat koneksi baru setiap saat?

Anda harus mengambil jalan yang ditunjukkan dalam jawaban mr.void. Singkatnya:

  1. hapus clsDatabase.
  2. Buat instance PDO.
  3. teruskan ke properti clsDBLogin seperti yang ditunjukkan dalam jawaban mr.void.
  4. Kemudian gunakan instance pdo ini dalam bentuk $this->db->prepare() dan seterusnya

Jadi seharusnya seperti

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. Bagaimana mengubah kata sandi root mysql

  2. Cara memformat angka dengan . sebagai pemisah seribu, dan , sebagai pemisah desimal?

  3. Pilih dan kembalikan hanya Checksum (bukan Tabel) dari tabel checksum di mysql

  4. Deteksi emotikon dalam string

  5. Laravel LeftBergabung di mana