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

mở rộng lớp PDO

$ dsn là tên nguồn dữ liệu. Nó xử lý tên máy chủ của bạn cho bạn. Bạn sử dụng nó như thế này:

$dsn = 'mysql:dbname=YOUR_DB_NAME;host=YOUR_HOSTNAME'

Với dòng $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Bạn đã đặt các ngoại lệ sẽ được nâng lên khi xảy ra lỗi (mà tôi thích), vì vậy trong lớp mở rộng của bạn, bạn có thể xử lý lỗi trong các trình xử lý ngoại lệ. Nếu bạn có một phương thức được gọi là getAssoc trong lớp PDO mở rộng của mình thì nó sẽ giống như sau:

/// Get an associative array of results for the sql.
public function getAssoc($sql, $params=array())
{
   try
   {
      $stmt = $this->prepare($sql);
      $params = is_array($params) ? $params : array($params);
      $stmt->execute($params);

      return $stmt->fetchAll(PDO::FETCH_ASSOC);
   }
   catch (Exception $e)
   {
      // Echo the error or Re-throw it to catch it higher up where you have more
      // information on where it occurred in your program.
      // e.g echo 'Error: ' . $e->getMessage(); 

      throw new Exception(
            __METHOD__ . 'Exception Raised for sql: ' . var_export($sql, true) .
            ' Params: ' . var_export($params, true) .
            ' Error_Info: ' . var_export($this->errorInfo(), true),
            0,
            $e);
   }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. chọn các hàng đã xảy ra nhiều hơn ba lần

  2. MySQL regexp chậm hơn nhiều

  3. EF6 MySql:Update-Database -Script tạo SQL mà không có dấu chấm phẩy

  4. CodeIgniter - Nhóm theo thứ tự do không hoạt động như mong đợi

  5. Gặp sự cố với MySQL Join cần đáp ứng nhiều điều kiện