yf_db_driver_pdo abstract class

Fileplugins/db/classes/db/yf_db_driver_pdo.class.php
Use_class('db_driver_pdo', 'classes/db/')
Extendsyf_db_driver

Public properties

A site sets them in its config with $PROJECT_CONF['db_driver_pdo']['NAME'] = ...;

PropertyDefaultDescription
$_connect_error null
$_last_query_error null
$_last_query_id null
$_query_error null
$db_connect_id null

Inherited properties

from yf_db_driver: $ESCAPE_BUILDER_VALUES

Public methods 17

affected_rows

public function affected_rows($query_id = false)
    public function affected_rows($query_id = false)
    {
        return $this->_last_query_id ? $this->_last_query_id->rowCount() : false;
    }

begin

public function begin()
    public function begin()
    {
        return $this->db_connect_id->beginTransaction();
    }

close

public function close()
    public function close()
    {
        if ($this->db_connect_id) {
            $this->db_connect_id = null;
            return true;
        }
        return false;
    }

commit

public function commit()
    public function commit()
    {
        return $this->db_connect_id->commit();
    }

error

public function error()
    public function error()
    {
        if ($this->db_connect_id) {
            $info = $this->db_connect_id->errorInfo();
            return [
                'message' => $info[2],
                'code' => $info[1],
            ];
        } elseif ($this->_connect_error) {
            return [
                'message' => 'YF: Connect error: ' . $this->_connect_error,
                'code' => '9999',
            ];
        }
        return false;
    }

fetch_array

public function fetch_array($query_id)
    public function fetch_array($query_id)
    {
        return $query_id ? $query_id->fetch(PDO::FETCH_BOTH) : false;
    }

fetch_assoc

public function fetch_assoc($query_id)
    public function fetch_assoc($query_id)
    {
        return $query_id ? $query_id->fetch(PDO::FETCH_ASSOC) : false;
    }

fetch_object

public function fetch_object($query_id)
    public function fetch_object($query_id)
    {
        return $query_id ? $query_id->fetch(PDO::FETCH_OBJ) : false;
    }

fetch_row

public function fetch_row($query_id)
    public function fetch_row($query_id)
    {
        return $query_id ? $query_id->fetch(PDO::FETCH_NUM) : false;
    }

free_result

public function free_result($query_id = false)
    public function free_result($query_id = false)
    {
        if ( ! $query_id) {
            return false;
        }
        $query_id = null;
        return true;
    }

get_host_info

public function get_host_info()
    public function get_host_info()
    {
        return $this->db_connect_id ? $this->db_connect_id->getAttribute(PDO::ATTR_SERVER_INFO) : false;
    }
public function get_server_version()
    public function get_server_version()
    {
        return $this->db_connect_id ? $this->db_connect_id->getAttribute(PDO::ATTR_SERVER_VERSION) : false;
    }

insert_id

public function insert_id($query_id = false)
    public function insert_id($query_id = false)
    {
        return $this->db_connect_id->lastInsertId();
    }

num_rows

public function num_rows($query_id)
    public function num_rows($query_id)
    {
        return $query_id ? $query_id->rowCount() : false;
    }

query

public function query($query)
    public function query($query)
    {
        if ( ! $this->db_connect_id) {
            return false;
        }
        $this->_last_query_error = null;
        $result = null;
        try {
            $result = $this->db_connect_id->query($query);
        } catch (PDOException $ex) {
            $this->_query_error = $ex;
        }
        $this->_last_query_id = $result;
        return $result;
    }

rollback

public function rollback()
    public function rollback()
    {
        return $this->db_connect_id->rollBack();
    }

select_db

public function select_db($name)
    public function select_db($name)
    {
        return $this->db_connect_id ? (bool) $this->query('USE ' . $name) : false;
    }

Inherited methods

from yf_db_driver: __call()