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

PDO - Làm việc với tiền tố bảng

Mở rộng lớp PDO có lẽ là lựa chọn tốt nhất.

Lớp
class MyPDO extends PDO
{
    protected $_table_prefix;
    protected $_table_suffix;

    public function __construct($dsn, $user = null, $password = null, $driver_options = array(), $prefix = null, $suffix = null)
    {
        $this->_table_prefix = $prefix;
        $this->_table_suffix = $suffix;
        parent::__construct($dsn, $user, $password, $driver_options);
    }

    public function exec($statement)
    {
        $statement = $this->_tablePrefixSuffix($statement);
        return parent::exec($statement);
    }

    public function prepare($statement, $driver_options = array())
    {
        $statement = $this->_tablePrefixSuffix($statement);
        return parent::prepare($statement, $driver_options);
    }

    public function query($statement)
    {
        $statement = $this->_tablePrefixSuffix($statement);
        $args      = func_get_args();

        if (count($args) > 1) {
            return call_user_func_array(array($this, 'parent::query'), $args);
        } else {
            return parent::query($statement);
        }
    }

    protected function _tablePrefixSuffix($statement)
    {
        return sprintf($statement, $this->_table_prefix, $this->_table_suffix);
    }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Java kết nối với Cloud SQL thế hệ thứ 2 từ Appengine Managed VM

  2. Truy vấn các hàng nối trong SQL

  3. Định dạng ngày giờ Mysql thêm 10 phút

  4. Truy vấn tổng hợp

  5. Trình kết nối Python MySQL trả về bytearray thay vì giá trị chuỗi thông thường