yf_db_driver_pdo abstract class| File | plugins/db/classes/db/yf_db_driver_pdo.class.php |
|---|---|
| Use | _class('db_driver_pdo', 'classes/db/') |
| Extends | yf_db_driver |
A site sets them in its config with $PROJECT_CONF['db_driver_pdo']['NAME'] = ...;
| Property | Default | Description |
|---|---|---|
$_connect_error |
null |
|
$_last_query_error |
null |
|
$_last_query_id |
null |
|
$_query_error |
null |
|
$db_connect_id |
null |
from yf_db_driver: $ESCAPE_BUILDER_VALUES
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;
}
public function begin()
public function begin()
{
return $this->db_connect_id->beginTransaction();
}
public function close()
public function close()
{
if ($this->db_connect_id) {
$this->db_connect_id = null;
return true;
}
return false;
}
public function commit()
public function commit()
{
return $this->db_connect_id->commit();
}
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;
}
public function fetch_array($query_id)
public function fetch_array($query_id)
{
return $query_id ? $query_id->fetch(PDO::FETCH_BOTH) : false;
}
public function fetch_assoc($query_id)
public function fetch_assoc($query_id)
{
return $query_id ? $query_id->fetch(PDO::FETCH_ASSOC) : false;
}
public function fetch_object($query_id)
public function fetch_object($query_id)
{
return $query_id ? $query_id->fetch(PDO::FETCH_OBJ) : false;
}
public function fetch_row($query_id)
public function fetch_row($query_id)
{
return $query_id ? $query_id->fetch(PDO::FETCH_NUM) : false;
}
public function free_result($query_id = false)
public function free_result($query_id = false)
{
if ( ! $query_id) {
return false;
}
$query_id = null;
return true;
}
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;
}
public function insert_id($query_id = false)
public function insert_id($query_id = false)
{
return $this->db_connect_id->lastInsertId();
}
public function num_rows($query_id)
public function num_rows($query_id)
{
return $query_id ? $query_id->rowCount() : false;
}
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;
}
public function rollback()
public function rollback()
{
return $this->db_connect_id->rollBack();
}
public function select_db($name)
public function select_db($name)
{
return $this->db_connect_id ? (bool) $this->query('USE ' . $name) : false;
}
from yf_db_driver: __call()