sql >> データベース >  >> RDS >> Mysql

PDO-テーブルプレフィックスの操作

    PDOクラスを拡張するのがおそらく最良のオプションです。

    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. 特定の値を保持する可能性のあるすべてのレコードのSQL選択

    2. MySQLから挿入されたデータをすぐに見ることができません

    3. どちらが良いですか:mysql_connectまたはmysql_pconnect

    4. AddBatch/withBatchを適切に使用してxmlタグ値をデータベーステーブルに一括挿入する方法