DB
class DB extends MySQLAdapter
Database Wrapper (mySQL)
Properties
| mysqli_result | $last_result | from MySQLAdapter | |
| int | $query_count | from MySQLAdapter | |
| protected int | $debug_query_count | from MySQLAdapter | |
| array | $debug_profile | from MySQLAdapter | |
| string|false | $debug_last_query | from MySQLAdapter | |
| int|false | $debug_last_status | from MySQLAdapter | |
| protected mysqli|null | $link | ||
| protected | $server | ||
| protected | $username | ||
| protected | $password | ||
| protected | $db | ||
| protected int | $port | from MySQLAdapter | |
| protected int | $charset | from MySQLAdapter | |
| protected | $connection_retries | ||
| protected bool | $autocommit | from MySQLAdapter | |
| protected bool | $fatal_on_error | from MySQLAdapter | |
| static array | $smartTimestampFields | from MySQLAdapter |
Methods
Constructur for Database Wrapper
No description
Checks the passed SQL query string for system-wide table placeholder markers and returns the query with the corresponding replacements e.g. ###sys|tablename### will be replaced to use the correct system table prefix
Collect Profiling Infos from Database if in DEVMODE
No description
Restore mysql database from a mysqldump backup file
Helper to Format multi-line SQL statements into a single line for log output NOTE: The resulting query string is for display purposes only and should not be used again as query as also field values may be shortened
Return the MariaDB Server Version if MariaDB is detected
Return Server Version as MYSQL Version This function will try to manipulate mariadb versions to match corresponding mysql version
Returns the number of executed queries since connecting the database server
Display width specification for integer data types was deprecated in MySQL 8.0.17
Returns true if the current mySQL server supports utf8mb4 (Emoji)
Inserts the passed values into the given table
Detect if the server is a MariaDB server (used to catch some specialties of MariaDB)
Execute PQuery Wrapper for Languages
Execute Query Wrapper for Languages
Executes multiple queries in one request -> Preferred way e.g. to mass insert data into database as this is much faster than many single queries If an error occures the execution stops and all remaining queries won't be executed.
Prepared Statement Query
Execute Query (Return Result Array/Count)
Execute Query (Return Result Array/Count) with passing of parameters e.g. use "SELECT * FROM tbl WHERE id = :id" as query and pass the value for "id" as params array ['id'=>2] All passed values will be automatically escaped for security reasons
Helper to remove unwanted private and sensitive data from an SQL query
Pass a query with placeholders and pass values for placeholders as keyed array. The function will replace all placeholder with their respective values from the array and escape them accordingly
Execute Query (Return Ressource uses MYSQLI_USE_RESULT)
- no builtin Error Handling (ON PURPOSE)
Check Query to avoid SQL Injections
Set the TimeZone for the current mySQL Connection
Updates the table using the passed values
Details
in
MySQLAdapter at line 90
__construct(string $server = XF_DB_SERVER, string $username = XF_DB_USER, string $password = XF_DB_PASS, string $db = XF_DB_DATABASE, string $charset = 'utf8', bool $fatal_on_error = true, int $port = 3306)
Constructur for Database Wrapper
Initializes database connection
in
MySQLAdapter at line 354
void
__destruct()
Disconnect Server in case of object destruction
in
MySQLAdapter at line 344
void
__sleep()
PHP __sleep -> Disconnect Server in case of object serialization
in
MySQLAdapter at line 363
void
__wakeup()
PHP __wakeup ->Re-Connect Server in case of object unserialize
in
MySQLAdapter at line 1627
mixed
auto_query(string $type, string $table, array $values = null, array $params = array(), string $FILE = __FILE__, int $LINE = __LINE__, bool $query_type = false, bool $i18nMode = false)
No description
in
MySQLAdapter at line 1827
void
begin_transaction()
No description
in
MySQLAdapter at line 199
bool|null
can_create_tmp_tables()
Can the current user create temporary tables?
in
MySQLAdapter at line 691
string
check_query(string $query)
Checks the passed SQL query string for system-wide table placeholder markers and returns the query with the corresponding replacements e.g. ###sys|tablename### will be replaced to use the correct system table prefix
in
MySQLAdapter at line 703
string
check_query_cb(array $matches)
put your comment there.
..
in
MySQLAdapter at line 1306
bool
close()
Close DB Connection
in
MySQLAdapter at line 1544
collect_debug_profiling(mixed $force = false, string $query = null, bool|string $file = false, bool|string $line = false, bool|mysqli_result $result = false, $cacheHit = false)
Collect Profiling Infos from Database if in DEVMODE
in
MySQLAdapter at line 1837
bool
commit()
No description
in
MySQLAdapter at line 221
null
connect(string $charset = 'utf8')
Connects to the database
in
MySQLAdapter at line 1806
void
debug()
Prints information about the last query and it's result code
in
MySQLAdapter at line 1295
int
errno()
Returns the error code for the most recent function call
in
MySQLAdapter at line 1285
string
error()
Returns a string description of the last error
in
MySQLAdapter at line 1436
string
escape_string(mixed $string, bool $auto_format_number = true)
No description
in
MySQLAdapter at line 1959
bool
executeMysqlDump(string $filename)
Take a mysqldump backup file
in
MySQLAdapter at line 1932
executeMysqlRestore(string $filename)
Restore mysql database from a mysqldump backup file
in
MySQLAdapter at line 1473
array
extract_search_term(string $search_term)
No description
in
MySQLAdapter at line 1922
static string|string[]|null
formatQueryForSinglelineOutput($Query)
Helper to Format multi-line SQL statements into a single line for log output NOTE: The resulting query string is for display purposes only and should not be used again as query as also field values may be shortened
in
MySQLAdapter at line 170
int|null
getMariaDBServerVersion()
Return the MariaDB Server Version if MariaDB is detected
in
MySQLAdapter at line 151
int
getMySQLServerVersion()
Return Server Version as MYSQL Version This function will try to manipulate mariadb versions to match corresponding mysql version
in
MySQLAdapter at line 1864
string
get_charset()
No description
in
MySQLAdapter at line 1599
array
get_database_status()
Returns the "SHOW STATUS" result in an array
in
MySQLAdapter at line 1856
mysqli
get_link()
Returns the mysqli link object
in
MySQLAdapter at line 372
int
get_query_count()
Returns the number of executed queries since connecting the database server
in
MySQLAdapter at line 136
array
get_server_vars()
Server Variables
in
MySQLAdapter at line 1358
array|bool
get_table_structure(string $table_name)
No description
in
MySQLAdapter at line 1897
bool
hasIntDisplayWidthSupport()
Display width specification for integer data types was deprecated in MySQL 8.0.17
in
MySQLAdapter at line 1880
bool
hasJsonSupport()
Does this mysql server support JSON fields?
in
MySQLAdapter at line 1872
bool
hasUtf8mb4Support()
Returns true if the current mySQL server supports utf8mb4 (Emoji)
in
MySQLAdapter at line 1888
bool
hasUuidBinSupport()
Is UUID_TO_BIN and BIN_TO_UUID available?
in
MySQLAdapter at line 1115
bool|mixed
insert(string $table, array $values)
Inserts the passed values into the given table
in
MySQLAdapter at line 188
bool|null
isMariaDB()
Detect if the server is a MariaDB server (used to catch some specialties of MariaDB)
in
MySQLAdapter at line 179
bool
is_cluster()
Is Database a Galera Cluster?
in
MySQLAdapter at line 487
mixed
lpquery($query, $params, string $file = __FILE__, int $line = __LINE__, int $cache_ttl = 0, null $cache_group = null)
Execute PQuery Wrapper for Languages
in
MySQLAdapter at line 390
mixed|null
lquery($query, string $result_type = "mysql_fetch_array", string $file = __FILE__, int $line = __LINE__, bool $cache_ttl = false, bool $cache_group = false, bool $query_type = false)
Execute Query Wrapper for Languages
in
MySQLAdapter at line 979
true|array
multiQuery(array $queries, bool $returnResults = false, bool $useTransaction = true)
Executes multiple queries in one request -> Preferred way e.g. to mass insert data into database as this is much faster than many single queries If an error occures the execution stops and all remaining queries won't be executed.
in
MySQLAdapter at line 539
mixed
pquery(string $query, array $params = array(), string $file = __FILE__, int|string $line = __LINE__, int $cache_ttl = 0, null $cache_group = null)
Prepared Statement Query
in
MySQLAdapter at line 1588
prepare_debug_profiling()
Prepare Profiling Infos from Database if in DEVMODE
in
MySQLAdapter at line 763
false|int|array|mysqli_result
query(string $query, string $result_type = "mysql_fetch_array", string $file = __FILE__, int $line = __LINE__, int $cache_ttl = null, string $cache_group = null, string $query_type = null)
Execute Query (Return Result Array/Count)
in
MySQLAdapter at line 741
mixed
query_with_params(string $query, array $params, string $result_type = "mysql_fetch_array", string $file = __FILE__, int $line = __LINE__, int $cache_ttl = null, string $cache_group = null, string $query_type = null)
Execute Query (Return Result Array/Count) with passing of parameters e.g. use "SELECT * FROM tbl WHERE id = :id" as query and pass the value for "id" as params array ['id'=>2] All passed values will be automatically escaped for security reasons
in
MySQLAdapter at line 519
void
rclose()
Free/Close Result Query (Use after rquery)
in
MySQLAdapter at line 1909
static string|string[]|null
removeSensitiveData($Query)
Helper to remove unwanted private and sensitive data from an SQL query
in
MySQLAdapter at line 1178
null|string|string[]
replace_query_placeholder(string $query, array $vars, string $format = 'value', array $value_list = [])
Pass a query with placeholders and pass values for placeholders as keyed array. The function will replace all placeholder with their respective values from the array and escape them accordingly
in
MySQLAdapter at line 1848
bool
rollback()
No description
in
MySQLAdapter at line 503
bool|mysqli_result
rquery(string $query)
Execute Query (Return Ressource uses MYSQLI_USE_RESULT)
- no builtin Error Handling (ON PURPOSE)
in
MySQLAdapter at line 1226
static bool
secure_query(string $query, int $allowed = XF_QUERY_ALLOW_NONE)
Check Query to avoid SQL Injections
in
MySQLAdapter at line 1818
bool
set_autocommit(bool $mode)
No description
in
MySQLAdapter at line 334
void
set_timezone(string $timezone)
Set the TimeZone for the current mySQL Connection
in
MySQLAdapter at line 1325
bool
table_exists(string $table_name)
No description
in
MySQLAdapter at line 1344
bool
table_field_exists(string $table, string $field)
No description
in
MySQLAdapter at line 1134
bool|mixed
update(string $table, array $values, array $where, int $limit = 1)
Updates the table using the passed values