sql >> Database >  >> RDS >> Mysql

PDO - Werken met tabelvoorvoegsels

Het uitbreiden van de PDO-klasse is waarschijnlijk de beste optie.

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. Kan geen verbinding maken met RDS-instantie vanuit EC2-instantie

  2. VERWIJDER alle dubbele onderwerpen met enkele voorwaarden

  3. Oracle ref-cursor retourneren en meerdere resultaten toevoegen

  4. Hoe ga ik om met NULL-waarden in een mysql SELECT ... OUTFILE-instructie in combinatie met FIELDS ESCAPED BY? NULL-waarden worden momenteel afgekapt