Skip to content

Latest commit

 

History

History
1319 lines (714 loc) · 29.1 KB

class.DbPDOCore.md

File metadata and controls

1319 lines (714 loc) · 29.1 KB

Class DbPDOCore

Class DbPDOCore

Contents

Properties

Methods

Properties

$link

protected \PDO $link

$result

protected mixed $result

$_servers

public array $_servers = array()

$_slave_servers_loaded

public null $_slave_servers_loaded = null

$database

protected string $database

$instance

public array $instance = array()

$is_cache_enabled

protected boolean $is_cache_enabled

$last_cached

protected string $last_cached

Last cached query

$last_query

protected string $last_query

Store last executed query

$last_query_hash

protected string $last_query_hash

Store hash of the last executed query

$password

protected string $password

$server

protected string $server

$user

protected string $user

Methods

Affected_Rows

integer DbPDOCore::Affected_Rows()

Return the number of rows affected by the last SQL query.

Insert_ID

string|integer DbPDOCore::Insert_ID()

Returns ID of the last inserted row.

__construct

mixed DbCore::__construct(string $server, string $user, string $password, string $database, boolean $connect)

Instantiates a database connection

Arguments

  • $server string - Server address
  • $user string - User login
  • $password string - User password
  • $database string - Database name
  • $connect boolean - If false, don't connect in constructor (since 1.5.0.1)

__destruct

mixed DbCore::__destruct()

Closes connection to database

_escape

string DbPDOCore::_escape(string $str)

Escapes illegal characters in a string.

Arguments

  • $str string

_getPDO

\PDO DbPDOCore::_getPDO(string $host, string $user, string $password, string $dbname, integer $timeout)

Returns a new PDO object (database link)

Arguments

  • $host string
  • $user string
  • $password string
  • $dbname string
  • $timeout integer

_numRows

integer DbPDOCore::_numRows(\PDOStatement $result)

Returns row count from the result set.

Arguments

  • $result PDOStatement

_query

\PDOStatement DbPDOCore::_query(string $sql)

Executes an SQL statement, returning a result set as a PDOStatement object or true/false.

Arguments

  • $sql string

autoExecute

boolean DbCore::autoExecute(string $table, array $data, string $type, string $where, integer $limit, boolean $use_cache, boolean $use_null)

Executes SQL query based on selected type

Arguments

  • $table string
  • $data array
  • $type string - (INSERT, INSERT IGNORE, REPLACE, UPDATE).
  • $where string
  • $limit integer
  • $use_cache boolean
  • $use_null boolean

autoExecuteWithNullValues

boolean DbCore::autoExecuteWithNullValues(string $table, array $values, string $type, string $where, integer $limit)

Filter SQL query within a blacklist

Arguments

  • $table string - Table where insert/update data
  • $values array - Data to insert/update
  • $type string - INSERT or UPDATE
  • $where string - WHERE clause, only for UPDATE (optional)
  • $limit integer - LIMIT clause (optional)

checkAutoIncrement

boolean DbPDOCore::checkAutoIncrement(string $server, string $user, string $pwd)

Checks if auto increment value and offset is 1

Arguments

  • $server string
  • $user string
  • $pwd string

checkConnection

integer DbCore::checkConnection(string $server, string $user, string $pwd, string $db, boolean $new_db_link, string|boolean $engine, integer $timeout)

Try a connection to the database

Arguments

  • $server string - Server address
  • $user string - Login for database connection
  • $pwd string - Password for database connection
  • $db string - Database name
  • $new_db_link boolean
  • $engine string|boolean
  • $timeout integer

checkCreatePrivilege

boolean|string DbPDOCore::checkCreatePrivilege(string $server, string $user, string $pwd, string $db, string $prefix, string|null $engine)

Tries to connect to the database and create a table (checking creation privileges)

Arguments

  • $server string
  • $user string
  • $pwd string
  • $db string
  • $prefix string
  • $engine string|null - Table engine

checkEncoding

boolean DbCore::checkEncoding(string $server, string $user, string $pwd)

Try a connection to the database and set names to UTF-8

Arguments

  • $server string - Server address
  • $user string - Login for database connection
  • $pwd string - Password for database connection

connect

\PDO DbPDOCore::connect()

Tries to connect to the database

createDatabase

boolean|integer DbPDOCore::createDatabase(string $host, string $user, string $password, string $dbname, boolean $dropit)

Tries to connect and create a new database

Arguments

  • $host string
  • $user string
  • $password string
  • $dbname string
  • $dropit boolean - If true, drops the created database.

delete

boolean DbCore::delete(string $table, string $where, integer $limit, boolean $use_cache, boolean $add_prefix)

Executes a DELETE query

Arguments

  • $table string - Name of the table to delete
  • $where string - WHERE clause on query
  • $limit integer - Number max of rows to delete
  • $use_cache boolean - Use cache or not
  • $add_prefix boolean - Add or not DB_PREFIX before table name

deleteTestingInstance

mixed DbCore::deleteTestingInstance()

Unit testing purpose only

disableCache

mixed DbCore::disableCache()

Disable the use of the cache

disconnect

mixed DbPDOCore::disconnect()

Destroys the database connection link

displayError

mixed DbCore::displayError(string|boolean $sql)

Displays last SQL error

Arguments

  • $sql string|boolean

ds

mixed DbCore::ds($sql, integer $use_cache)

Executes a query and kills process (dies)

Arguments

  • $sql mixed
  • $use_cache integer

enableCache

mixed DbCore::enableCache()

Enable & flush the cache

escape

string DbCore::escape(string $string, boolean $html_ok, $bq_sql)

Sanitize data which will be injected into SQL query

Arguments

  • $string string - SQL data which will be injected into SQL query
  • $html_ok boolean - Does data contain HTML code ? (optional)
  • $bq_sql mixed

execute

boolean DbCore::execute(string|\DbQuery $sql, boolean $use_cache)

Executes a query

Arguments

  • $sql string|string
  • $use_cache boolean

executeS

array|false|null|\mysqli_result|\PDOStatement|resource DbCore::executeS(string|\DbQuery $sql, boolean $array, boolean $use_cache)

Executes return the result of $sql as array

Arguments

  • $sql string|string - Query to execute
  • $array boolean - Return an array instead of a result object (deprecated since 1.5.0.1, use query method instead)
  • $use_cache boolean

getAll

array|false|null DbPDOCore::getAll(boolean $result)

Returns all rows from the result set.

Arguments

  • $result boolean

getBestEngine

string DbPDOCore::getBestEngine()

Selects best table engine.

getClass

string DbCore::getClass()

Returns the best child layer database class.

getInstance

\Db DbCore::getInstance(boolean $master)

Returns database object instance.

Arguments

  • $master boolean - Decides whether the connection to be returned by the master server or the slave server

getLink

\PDO|\mysqli|resource DbCore::getLink()

Get used link instance

getMsgError

string DbPDOCore::getMsgError(boolean $query)

Returns error message.

Arguments

  • $query boolean

getNumberError

integer DbPDOCore::getNumberError()

Returns error code.

getRow

array|boolean|object|null DbCore::getRow(string|\DbQuery $sql, boolean $use_cache)

Returns an associative array containing the first row of the query This function automatically adds "LIMIT 1" to the query

Arguments

  • $sql string|string - the select query (without "LIMIT 1")
  • $use_cache boolean - Find it in cache first

getValue

string|false|null DbCore::getValue(string|\DbQuery $sql, boolean $use_cache)

Returns a value from the first row, first column of a SELECT query

Arguments

  • $sql string|string
  • $use_cache boolean

getVersion

string DbPDOCore::getVersion()

Returns database server version.

hasTableWithSamePrefix

boolean DbPDOCore::hasTableWithSamePrefix(string $server, string $user, string $pwd, string $db, string $prefix)

Try a connection to the database and check if at least one table with same prefix exists

Arguments

  • $server string - Server address
  • $user string - Login for database connection
  • $pwd string - Password for database connection
  • $db string - Database name
  • $prefix string - Tables prefix

insert

boolean DbCore::insert(string $table, array $data, boolean $null_values, boolean $use_cache, integer $type, boolean $add_prefix)

Executes an INSERT query

Arguments

  • $table string - Table name without prefix
  • $data array - Data to insert as associative array. If $data is a list of arrays, multiple insert will be done
  • $null_values boolean - If we want to use NULL values instead of empty quotes
  • $use_cache boolean
  • $type integer - Must be Db::INSERT or Db::INSERT_IGNORE or Db::REPLACE
  • $add_prefix boolean - Add or not DB_PREFIX before table name

loadSlaveServers

mixed DbCore::loadSlaveServers()

Loads configuration settings for slave servers if needed.

nextRow

array|false|null DbPDOCore::nextRow(boolean $result)

Returns the next row from the result set.

Arguments

  • $result boolean

numRows

integer DbCore::numRows()

Get number of rows for last result

ps

array|boolean|\mysqli_result|\PDOStatement|resource DbCore::ps($sql, integer $use_cache)

Executes a query

Arguments

  • $sql mixed
  • $use_cache integer

q

boolean|\mysqli_result|\PDOStatement|resource DbCore::q(string|\DbQuery $sql, boolean $use_cache)

Executes a query

Arguments

  • $sql string|string
  • $use_cache boolean

query

boolean|\mysqli_result|\PDOStatement|resource DbCore::query(string|\DbQuery $sql)

Execute a query and get result resource

Arguments

s

array|boolean|\mysqli_result|\PDOStatement|resource DbCore::s(string|\DbQuery $sql, boolean $use_cache)

Executes a query

Arguments

  • $sql string|string
  • $use_cache boolean

setInstanceForTesting

mixed DbCore::setInstanceForTesting($test_db)

Arguments

  • $test_db mixed - Db Unit testing purpose only

set_db

integer DbPDOCore::set_db(string $db_name)

Switches to a different database.

Arguments

  • $db_name string

tryToConnect

integer DbPDOCore::tryToConnect(string $server, string $user, string $pwd, string $db, $new_db_link, string|boolean $engine, integer $timeout)

Try a connection to the database

Arguments

  • $server string - Server address
  • $user string - Login for database connection
  • $pwd string - Password for database connection
  • $db string - Database name
  • $new_db_link mixed
  • $engine string|boolean
  • $timeout integer

tryUTF8

boolean DbPDOCore::tryUTF8(string $server, string $user, string $pwd)

Try a connection to the database and set names to UTF-8

Arguments

  • $server string - Server address
  • $user string - Login for database connection
  • $pwd string - Password for database connection

update

boolean DbCore::update(string $table, array $data, string $where, integer $limit, boolean $null_values, boolean $use_cache, boolean $add_prefix)

Executes an UPDATE query

Arguments

  • $table string - Table name without prefix
  • $data array - Data to insert as associative array. If $data is a list of arrays, multiple insert will be done
  • $where string - WHERE condition
  • $limit integer
  • $null_values boolean - If we want to use NULL values instead of empty quotes
  • $use_cache boolean
  • $add_prefix boolean - Add or not DB_PREFIX before table name