protected function _execute()
    {
        try {
            $this->_wrapPrepareSql();
            $this->_pdoSt = $this->_pdo->prepare($this->_prepare_sql);
            $this->_bindParams();
            $this->_pdoSt->execute();
            $this->_reset();  // memory-resident mode, singleton pattern, need reset build attr
            // if debug mode, print sql and bind params to stdout
            if ($this->_debug) {
                $this->_pdoSt->debugDumpParams();
                $this->_debug = FALSE; // close debug
            }
        } catch (PDOException $e) {
            // when time out, reconnect
            if ($this->_isTimeout($e)) {
                $this->_closeConnection();
                $this->_connect();
                // retry
                try {
                    $this->_wrapPrepareSql();
                    $this->_pdoSt = $this->_pdo->prepare($this->_prepare_sql);
                    $this->_bindParams();
                    $this->_pdoSt->execute();
                    $this->_reset();
                    // if debug mode, print sql and bind params to stdout
                    if ($this->_debug) {
                        $this->_pdoSt->debugDumpParams();
                        $this->_debug = FALSE; // close debug
                    }
                } catch (PDOException $e) {
                    throw $e;
                }

            } else {
                throw $e;
            }
        }

    }
protected function _execute()
    {
        try {
            $this->_wrapPrepareSql();
            $this->_pdoSt = $this->_pdo->prepare($this->_prepare_sql);
            $this->_bindParams();
            $this->_pdoSt->execute();
            $this->_reset();  // memory-resident mode, singleton pattern, need reset build attr
            // if debug mode, print sql and bind params to stdout
            if ($this->_debug) {
                $this->_pdoSt->debugDumpParams();
                $this->_debug = FALSE; // close debug
            }
        } catch (PDOException $e) {
            // when time out, reconnect
            if ($this->_isTimeout($e)) {
                $this->_closeConnection();
                $this->_connect();
                // retry
                try {
                    $this->_wrapPrepareSql();
                    $this->_pdoSt = $this->_pdo->prepare($this->_prepare_sql);
                    $this->_bindParams();
                    $this->_pdoSt->execute();
                    $this->_reset();
                    // if debug mode, print sql and bind params to stdout
                    if ($this->_debug) {
                        $this->_pdoSt->debugDumpParams();
                        $this->_debug = FALSE; // close debug
                    }
                } catch (PDOException $e) {
                    throw $e;
                }

            } else {
                throw $e;
            }
        }

    }
protected function _execute ( ) { try { $ this -> _wrapPrepareSql ( ) ; $ this -> _pdoSt = $ this -> _pdo -> prepare ( $ this -> _prepare_sql ) ; $ this -> _bindParams ( ) ; $ this -> _pdoSt -> execute ( ) ; $ this -> _reset ( ) ; // memory-resident mode, singleton pattern, need reset build attr // if debug mode, print sql and bind params to stdout if ( $ this -> _debug ) { $ this -> _pdoSt -> debugDumpParams ( ) ; $ this -> _debug = FALSE ; // close debug } } catch ( PDOException $ e ) { // when time out, reconnect if ( $ this -> _isTimeout ( $ e ) ) { $ this -> _closeConnection ( ) ; $ this -> _connect ( ) ; // retry try { $ this -> _wrapPrepareSql ( ) ; $ this -> _pdoSt = $ this -> _pdo -> prepare ( $ this -> _prepare_sql ) ; $ this -> _bindParams ( ) ; $ this -> _pdoSt -> execute ( ) ; $ this -> _reset ( ) ; // if debug mode, print sql and bind params to stdout if ( $ this -> _debug ) { $ this -> _pdoSt -> debugDumpParams ( ) ; $ this -> _debug = FALSE ; // close debug } } catch ( PDOException $ e ) { throw $ e ; } } else { throw $ e ; } } }
prepare and execute, if timeout, auto reconnect

@return  void
@throws  \PDOException
prepare and execute if timeout auto reconnect