|
dolibarr
13.0.2
|
Class to manage Dolibarr database access for a MySQL database using the MySQLi extension. More...
Inheritance diagram for DoliDBMysqli:
Collaboration diagram for DoliDBMysqli:Public Member Functions | |
| __construct ($type, $host, $user, $pass, $name= '', $port=0) | |
| Constructor. More... | |
| select_db ($database) | |
| Select a database. More... | |
| connect ($host, $login, $passwd, $name, $port=0) | |
| Connect to server. More... | |
| getVersion () | |
| Return version of database server. More... | |
| getDriverInfo () | |
| Return version of database client driver. More... | |
| close () | |
| Close database connexion. More... | |
| query ($query, $usesavepoint=0, $type= 'auto') | |
| Execute a SQL request and return the resultset. More... | |
| fetch_object ($resultset) | |
| Renvoie la ligne courante (comme un objet) pour le curseur resultset. More... | |
| fetch_array ($resultset) | |
| Return datas as an array. More... | |
| fetch_row ($resultset) | |
| Return datas as an array. More... | |
| num_rows ($resultset) | |
| Return number of lines for result of a SELECT. More... | |
| affected_rows ($resultset) | |
| Return the number of lines in the result of a request INSERT, DELETE or UPDATE. More... | |
| free ($resultset=null) | |
| Libere le dernier resultset utilise sur cette connexion. More... | |
| escape ($stringtoencode) | |
| Escape a string to insert data. More... | |
| errno () | |
| Return generic error code of last operation. More... | |
| error () | |
| Return description of last error. More... | |
| last_insert_id ($tab, $fieldid= 'rowid') | |
| Get last ID after an insert INSERT. More... | |
| encrypt ($fieldorvalue, $withQuotes=0) | |
| Encrypt sensitive data in database Warning: This function includes the escape, so it must use direct value. More... | |
| decrypt ($value) | |
| Decrypt sensitive data in database. More... | |
| DDLGetConnectId () | |
| Return connexion ID. More... | |
| DDLCreateDb ($database, $charset= '', $collation= '', $owner= '') | |
| Create a new database Do not use function xxx_create_db (xxx=mysql, ...) as they are deprecated We force to create database with charset this->forcecharset and collate this->forcecollate. More... | |
| DDLListTables ($database, $table= '') | |
| List tables into a database. More... | |
| DDLInfoTable ($table) | |
| List information of columns into a table. More... | |
| DDLCreateTable ($table, $fields, $primary_key, $type, $unique_keys=null, $fulltext_keys=null, $keys=null) | |
| Create a table into database. More... | |
| DDLDropTable ($table) | |
| Drop a table into database. More... | |
| DDLDescTable ($table, $field="") | |
| Return a pointer of line with description of a table or field. More... | |
| DDLAddField ($table, $field_name, $field_desc, $field_position="") | |
| Create a new field into table. More... | |
| DDLUpdateField ($table, $field_name, $field_desc) | |
| Update format of a field into a table. More... | |
| DDLDropField ($table, $field_name) | |
| Drop a field from table. More... | |
| DDLCreateUser ($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name) | |
| Create a user and privileges to connect to database (even if database does not exists yet) More... | |
| getDefaultCharacterSetDatabase () | |
| Return charset used to store data in current database Note: if we are connected to databasename, it is same result than using SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = "databasename";) More... | |
| getListOfCharacterSet () | |
| Return list of available charset that can be used to store data in database. More... | |
| getDefaultCollationDatabase () | |
| Return collation used in current database. More... | |
| getListOfCollation () | |
| Return list of available collation that can be used for database. More... | |
| getPathOfDump () | |
| Return full path of dump program. More... | |
| getPathOfRestore () | |
| Return full path of restore program. More... | |
| getServerParametersValues ($filter= '') | |
| Return value of server parameters. More... | |
| getServerStatusValues ($filter= '') | |
| Return value of server status (current indicators on memory, cache...) More... | |
Public Member Functions inherited from DoliDB | |
| ifsql ($test, $resok, $resko) | |
| Format a SQL IF. More... | |
| idate ($param, $gm= 'tzserver') | |
| Convert (by PHP) a GM Timestamp date into a string date with PHP server TZ to insert into a date field. More... | |
| lasterrno () | |
| Return last error code. More... | |
| sanitize ($stringtosanitize, $allowsimplequote=0) | |
| Sanitize a string for SQL forging. More... | |
| begin () | |
| Start transaction. More... | |
| commit ($log= '') | |
| Validate a database transaction. More... | |
| rollback ($log= '') | |
| Cancel a transaction and go back to initial data values. More... | |
| plimit ($limit=0, $offset=0) | |
| Define limits and offset of request. More... | |
| getVersionArray () | |
| Return version of database server into an array. More... | |
| lastquery () | |
| Return last request executed with query() More... | |
| order ($sortfield=null, $sortorder=null) | |
| Define sort criteria of request. More... | |
| lasterror () | |
| Return last error label. More... | |
| jdate ($string, $gm= 'tzserver') | |
| Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) 19700101020000 -> 3600 with TZ+1 and gmt=0 19700101020000 -> 7200 whaterver is TZ if gmt=1. More... | |
| lastqueryerror () | |
| Return last query in error. More... | |
| getRow ($sql) | |
| Return first result from query as object Note : This method executes a given SQL query and retrieves the first row of results as an object. More... | |
| getRows ($sql) | |
| return all results from query as an array of objects Note : This method executes a given SQL query and retrieves all row of results as an array of objects. More... | |
Public Member Functions inherited from Database | |
| idate ($param) | |
| Convert (by PHP) a GM Timestamp date into a string date with PHP server TZ to insert into a date field. More... | |
| sanitize ($stringtosanitize) | |
| Sanitize a string for SQL forging. More... | |
Static Public Member Functions | |
| static | convertSQLFromMysql ($line, $type= 'ddl') |
| Convert a SQL request in Mysql syntax to native syntax. More... | |
Public Attributes | |
| $type = 'mysqli' | |
| Database type. | |
| const | LABEL = 'MySQL or MariaDB' |
| Database label. | |
| const | VERSIONMIN = '5.0.3' |
| Version min database. | |
Class to manage Dolibarr database access for a MySQL database using the MySQLi extension.
Definition at line 33 of file mysqli.class.php.
| DoliDBMysqli::__construct | ( | $type, | |
| $host, | |||
| $user, | |||
| $pass, | |||
$name = '', |
|||
$port = 0 |
|||
| ) |
Constructor.
This create an opened connexion to a database server and eventually to a database
| string | $type | Type of database (mysql, pgsql...) |
| string | $host | Address of database server |
| string | $user | Nom de l'utilisateur autorise |
| string | $pass | Mot de passe |
| string | $name | Nom de la database |
| int | $port | Port of database server |
Definition at line 57 of file mysqli.class.php.
References connect(), db, dol_syslog(), error(), and select_db().
| DoliDBMysqli::affected_rows | ( | $resultset | ) |
Return the number of lines in the result of a request INSERT, DELETE or UPDATE.
| mysqli_result | $resultset | Curseur de la requete voulue |
Implements Database.
Definition at line 368 of file mysqli.class.php.
References db.
| DoliDBMysqli::close | ( | ) |
Close database connexion.
Implements Database.
Definition at line 231 of file mysqli.class.php.
References db, and dol_syslog().
| DoliDBMysqli::connect | ( | $host, | |
| $login, | |||
| $passwd, | |||
| $name, | |||
$port = 0 |
|||
| ) |
Connect to server.
| string | $host | Database server host |
| string | $login | Login |
| string | $passwd | Password |
| string | $name | Name of database (not used for mysql, used for pgsql) |
| integer | $port | Port of database server |
Implements Database.
Definition at line 194 of file mysqli.class.php.
References dol_syslog().
Referenced by __construct().
|
static |
Convert a SQL request in Mysql syntax to native syntax.
| string | $line | SQL request line to convert |
| string | $type | Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) |
Implements Database.
Definition at line 163 of file mysqli.class.php.
| DoliDBMysqli::DDLAddField | ( | $table, | |
| $field_name, | |||
| $field_desc, | |||
$field_position = "" |
|||
| ) |
Create a new field into table.
| string | $table | Name of table |
| string | $field_name | Name of field to add |
| string | $field_desc | Tableau associatif de description du champ a inserer[nom du parametre][valeur du parametre] |
| string | $field_position | Optionnel ex.: "after champtruc" |
Implements Database.
Definition at line 786 of file mysqli.class.php.
| DoliDBMysqli::DDLCreateDb | ( | $database, | |
$charset = '', |
|||
$collation = '', |
|||
$owner = '' |
|||
| ) |
Create a new database Do not use function xxx_create_db (xxx=mysql, ...) as they are deprecated We force to create database with charset this->forcecharset and collate this->forcecollate.
| string | $database | Database name to create |
| string | $charset | Charset used to store data |
| string | $collation | Charset used to sort data |
| string | $owner | Username of database owner |
Implements Database.
Definition at line 582 of file mysqli.class.php.
| DoliDBMysqli::DDLCreateTable | ( | $table, | |
| $fields, | |||
| $primary_key, | |||
| $type, | |||
$unique_keys = null, |
|||
$fulltext_keys = null, |
|||
$keys = null |
|||
| ) |
Create a table into database.
| string | $table | Name of table |
| array | $fields | Tableau associatif [nom champ][tableau des descriptions] |
| string | $primary_key | Nom du champ qui sera la clef primaire |
| string | $type | Type de la table |
| array | $unique_keys | Tableau associatifs Nom de champs qui seront clef unique => valeur |
| array | $fulltext_keys | Tableau des Nom de champs qui seront indexes en fulltext |
| array | $keys | Tableau des champs cles noms => valeur |
Implements Database.
Definition at line 671 of file mysqli.class.php.
| DoliDBMysqli::DDLCreateUser | ( | $dolibarr_main_db_host, | |
| $dolibarr_main_db_user, | |||
| $dolibarr_main_db_pass, | |||
| $dolibarr_main_db_name | |||
| ) |
Create a user and privileges to connect to database (even if database does not exists yet)
| string | $dolibarr_main_db_host | Ip server or '' |
| string | $dolibarr_main_db_user | Nom user a creer |
| string | $dolibarr_main_db_pass | Mot de passe user a creer |
| string | $dolibarr_main_db_name | Database name where user must be granted |
Implements Database.
Definition at line 903 of file mysqli.class.php.
| DoliDBMysqli::DDLDescTable | ( | $table, | |
$field = "" |
|||
| ) |
Return a pointer of line with description of a table or field.
| string | $table | Name of table |
| string | $field | Optionnel : Name of field if we want description of field |
Implements Database.
Definition at line 766 of file mysqli.class.php.
| DoliDBMysqli::DDLDropField | ( | $table, | |
| $field_name | |||
| ) |
Drop a field from table.
| string | $table | Name of table |
| string | $field_name | Name of field to drop |
Implements Database.
Definition at line 880 of file mysqli.class.php.
| DoliDBMysqli::DDLDropTable | ( | $table | ) |
Drop a table into database.
| string | $table | Name of table |
Implements Database.
Definition at line 748 of file mysqli.class.php.
| DoliDBMysqli::DDLGetConnectId | ( | ) |
Return connexion ID.
Implements Database.
Definition at line 559 of file mysqli.class.php.
| DoliDBMysqli::DDLInfoTable | ( | $table | ) |
List information of columns into a table.
| string | $table | Name of table |
Implements Database.
Definition at line 639 of file mysqli.class.php.
| DoliDBMysqli::DDLListTables | ( | $database, | |
$table = '' |
|||
| ) |
List tables into a database.
| string | $database | Name of database |
| string | $table | Nmae of table filter ('xxx') |
Implements Database.
Definition at line 612 of file mysqli.class.php.
| DoliDBMysqli::DDLUpdateField | ( | $table, | |
| $field_name, | |||
| $field_desc | |||
| ) |
Update format of a field into a table.
| string | $table | Name of table |
| string | $field_name | Name of field to modify |
| string | $field_desc | Array with description of field format |
Implements Database.
Definition at line 836 of file mysqli.class.php.
| DoliDBMysqli::decrypt | ( | $value | ) |
Decrypt sensitive data in database.
| string | $value | Value to decrypt |
Implements Database.
Definition at line 526 of file mysqli.class.php.
| DoliDBMysqli::encrypt | ( | $fieldorvalue, | |
$withQuotes = 0 |
|||
| ) |
Encrypt sensitive data in database Warning: This function includes the escape, so it must use direct value.
| string | $fieldorvalue | Field name or value to encrypt |
| int | $withQuotes | Return string with quotes |
Implements Database.
Definition at line 494 of file mysqli.class.php.
References escape().
| DoliDBMysqli::errno | ( | ) |
Return generic error code of last operation.
Implements Database.
Definition at line 409 of file mysqli.class.php.
References db.
Referenced by query().
| DoliDBMysqli::error | ( | ) |
Return description of last error.
Implements Database.
Definition at line 461 of file mysqli.class.php.
References db.
Referenced by __construct(), and query().
| DoliDBMysqli::escape | ( | $stringtoencode | ) |
Escape a string to insert data.
| string | $stringtoencode | String to escape |
Implements Database.
Definition at line 399 of file mysqli.class.php.
References db.
Referenced by encrypt().
| DoliDBMysqli::fetch_array | ( | $resultset | ) |
Return datas as an array.
| mysqli_result | $resultset | Resultset of request |
Implements Database.
Definition at line 315 of file mysqli.class.php.
Referenced by getDefaultCollationDatabase(), getPathOfDump(), and getPathOfRestore().
| DoliDBMysqli::fetch_object | ( | $resultset | ) |
Renvoie la ligne courante (comme un objet) pour le curseur resultset.
| mysqli_result | $resultset | Curseur de la requete voulue |
Implements Database.
Definition at line 299 of file mysqli.class.php.
Referenced by getListOfCharacterSet(), getListOfCollation(), getServerParametersValues(), and getServerStatusValues().
| DoliDBMysqli::fetch_row | ( | $resultset | ) |
Return datas as an array.
| mysqli_result | $resultset | Resultset of request |
Implements Database.
Definition at line 330 of file mysqli.class.php.
| DoliDBMysqli::free | ( | $resultset = null | ) |
Libere le dernier resultset utilise sur cette connexion.
| mysqli_result | $resultset | Curseur de la requete voulue |
Implements Database.
Definition at line 385 of file mysqli.class.php.
Referenced by getListOfCharacterSet(), and getListOfCollation().
| DoliDBMysqli::getDefaultCharacterSetDatabase | ( | ) |
Return charset used to store data in current database Note: if we are connected to databasename, it is same result than using SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = "databasename";)
Implements Database.
Definition at line 952 of file mysqli.class.php.
| DoliDBMysqli::getDefaultCollationDatabase | ( | ) |
Return collation used in current database.
Implements Database.
Definition at line 998 of file mysqli.class.php.
References $resql, fetch_array(), and query().
| DoliDBMysqli::getDriverInfo | ( | ) |
Return version of database client driver.
Implements Database.
Definition at line 219 of file mysqli.class.php.
References db.
| DoliDBMysqli::getListOfCharacterSet | ( | ) |
Return list of available charset that can be used to store data in database.
Implements Database.
Definition at line 971 of file mysqli.class.php.
References $resql, fetch_object(), free(), and query().
| DoliDBMysqli::getListOfCollation | ( | ) |
Return list of available collation that can be used for database.
Implements Database.
Definition at line 1017 of file mysqli.class.php.
References $resql, fetch_object(), free(), and query().
| DoliDBMysqli::getPathOfDump | ( | ) |
Return full path of dump program.
Implements Database.
Definition at line 1042 of file mysqli.class.php.
References $resql, fetch_array(), and query().
| DoliDBMysqli::getPathOfRestore | ( | ) |
Return full path of restore program.
Implements Database.
Definition at line 1061 of file mysqli.class.php.
References $resql, fetch_array(), and query().
| DoliDBMysqli::getServerParametersValues | ( | $filter = '' | ) |
Return value of server parameters.
| string | $filter | Filter list on a particular value |
Implements Database.
Definition at line 1081 of file mysqli.class.php.
References $resql, fetch_object(), and query().
| DoliDBMysqli::getServerStatusValues | ( | $filter = '' | ) |
Return value of server status (current indicators on memory, cache...)
| string | $filter | Filter list on a particular value |
Implements Database.
Definition at line 1102 of file mysqli.class.php.
References $resql, fetch_object(), and query().
| DoliDBMysqli::getVersion | ( | ) |
Return version of database server.
Implements Database.
Definition at line 209 of file mysqli.class.php.
References db.
| DoliDBMysqli::last_insert_id | ( | $tab, | |
$fieldid = 'rowid' |
|||
| ) |
Get last ID after an insert INSERT.
| string | $tab | Table name concerned by insert. Ne sert pas sous MySql mais requis pour compatibilite avec Postgresql |
| string | $fieldid | Field name |
Implements Database.
Definition at line 479 of file mysqli.class.php.
References db.
| DoliDBMysqli::num_rows | ( | $resultset | ) |
Return number of lines for result of a SELECT.
| mysqli_result | $resultset | Resulset of requests |
Implements Database.
Definition at line 352 of file mysqli.class.php.
| DoliDBMysqli::query | ( | $query, | |
$usesavepoint = 0, |
|||
$type = 'auto' |
|||
| ) |
Execute a SQL request and return the resultset.
| string | $query | SQL query string |
| int | $usesavepoint | 0=Default mode, 1=Run a savepoint before and a rollback to savepoint if error (this allow to have some request with errors inside global transactions). Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints. |
| string | $type | Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) |
Implements Database.
Definition at line 251 of file mysqli.class.php.
References db, dol_syslog(), errno(), error(), DoliDB\lasterrno(), DoliDB\lasterror(), DoliDB\lastquery(), and DoliDB\lastqueryerror().
Referenced by getDefaultCollationDatabase(), getListOfCharacterSet(), getListOfCollation(), getPathOfDump(), getPathOfRestore(), getServerParametersValues(), and getServerStatusValues().
| DoliDBMysqli::select_db | ( | $database | ) |
Select a database.
| string | $database | Name of database |
Implements Database.
Definition at line 175 of file mysqli.class.php.
References db, and dol_syslog().
Referenced by __construct().