26require_once DOL_DOCUMENT_ROOT.
'/core/db/DoliDB.class.php';
50 protected $startMemory;
72 $this->
type = $this->db->type;
73 $this->queries = array();
84 public function ifsql($test, $resok, $resko)
86 return $this->db->ifsql($test, $resok, $resko);
99 return $this->db->fetch_row($resultset);
110 public function idate($param, $gm =
'tzserver')
112 return $this->db->idate($param, $gm);
122 return $this->db->lasterrno();
131 public function begin($textinlog =
'')
133 return $this->db->begin($textinlog);
147 public function DDLCreateDb($database, $charset =
'', $collation =
'', $owner =
'')
149 return $this->db->DDLCreateDb($database, $charset, $collation, $owner);
159 return $this->db->getVersionArray();
171 return $this->db->convertSQLFromMysql($line);
185 return $this->db->affected_rows($resultset);
195 return $this->db->error();
207 return $this->db->DDLListTables($database, $table);
219 return $this->db->DDLListTablesFull($database, $table);
229 return $this->db->lastquery();
239 public function order($sortfield =
null, $sortorder =
null)
241 return $this->db->order($sortfield, $sortorder);
252 return $this->db->decrypt($value);
265 return $this->db->fetch_array($resultset);
275 return $this->db->lasterror();
286 return $this->db->escape($stringtoencode);
297 return $this->db->escapeforlike($stringtoencode);
311 return $this->db->last_insert_id($tab, $fieldid);
321 return $this->db->getPathOfRestore();
332 return $this->db->rollback($log);
345 public function query($query, $usesavepoint = 0, $type =
'auto', $result_mode = 0)
349 $resql = $this->db->query($query, $usesavepoint, $type, $result_mode);
363 $this->startTime = microtime(
true);
364 $this->startMemory = memory_get_usage(
true);
376 $endTime = microtime(
true);
377 $duration = $endTime - $this->startTime;
378 $endMemory = memory_get_usage(
true);
379 $memoryDelta = $endMemory - $this->startMemory;
381 $this->queries[] = array(
383 'duration' => $duration,
384 'memory_usage' => $memoryDelta,
385 'is_success' => $resql ?
true :
false,
386 'error_code' => $resql ? null : $this->db->lasterrno(),
387 'error_message' => $resql ? null : $this->db->lasterror()
402 public function connect($host, $login, $passwd, $name, $port = 0)
404 return $this->db->connect($host, $login, $passwd, $name, $port);
414 public function plimit($limit = 0, $offset = 0)
416 return $this->db->plimit($limit, $offset);
427 return $this->db->getServerParametersValues($filter);
438 return $this->db->getServerStatusValues($filter);
448 return $this->db->getDefaultCollationDatabase();
462 return $this->db->num_rows($resultset);
472 return $this->db->getPathOfDump();
482 return $this->db->getDriverInfo();
492 return $this->db->errno();
507 public function DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys =
null, $fulltext_keys =
null, $keys =
null)
509 return $this->db->DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys, $fulltext_keys, $keys);
520 return $this->db->DDLDropTable($table);
530 return $this->db->getListOfCharacterSet();
542 public function DDLAddField($table, $field_name, $field_desc, $field_position =
"")
544 return $this->db->DDLAddField($table, $field_name, $field_desc, $field_position);
556 return $this->db->DDLDropField($table, $field_name);
569 return $this->db->DDLUpdateField($table, $field_name, $field_desc);
579 return $this->db->getListOfCollation();
591 return $this->db->DDLDescTable($table, $field);
601 return $this->db->getVersion();
611 return $this->db->getDefaultCharacterSetDatabase();
623 public function DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name)
625 return $this->db->DDLCreateUser($dolibarr_main_db_host, $dolibarr_main_db_user, $dolibarr_main_db_pass, $dolibarr_main_db_name);
638 public function jdate($string, $gm =
false)
641 return $this->db->jdate($string, $gm);
652 public function encrypt($fieldorvalue, $withQuotes = 1)
654 return $this->db->encrypt($fieldorvalue, $withQuotes);
665 return $this->db->commit($log);
676 return $this->db->DDLInfoTable($table);
685 public function free($resultset =
null)
687 $this->db->free($resultset);
698 return $this->db->close();
708 return $this->db->lastqueryerror();
718 return $this->db->DDLGetConnectId();
731 return $this->db->fetch_object($resultset);
744 return $this->db->select_db($database);
Class to manage Dolibarr database access.
escape($stringtoencode)
Escape a string to insert data.
convertSQLFromMysql($line, $type='ddl')
Convert a SQL request in Mysql syntax to native syntax.
const VERSIONMIN
@const Version min database
jdate($string, $gm=false)
Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) 19700101020000 -...
begin($textinlog='')
Start transaction.
getDriverInfo()
Return version of database client driver.
free($resultset=null)
Free last resultset used.
getPathOfDump()
Return full path of dump program.
getPathOfRestore()
Return full path of restore program.
select_db($database)
Select a database.
rollback($log='')
Cancel a transaction and go back to initial data values.
encrypt($fieldorvalue, $withQuotes=1)
Encrypt sensitive data in database Warning: This function includes the escape and add the SQL simple ...
order($sortfield=null, $sortorder=null)
Define sort criteria of request.
fetch_array($resultset)
Return datas as an array.
getVersionArray()
Return version of database server into an array.
num_rows($resultset)
Return number of lines for result of a SELECT.
escapeforlike($stringtoencode)
Escape a string to insert data into a like.
commit($log='')
Validate a database transaction.
fetch_row($resultset)
Return datas as an array.
DDLCreateDb($database, $charset='', $collation='', $owner='')
Create a new database Do not use function xxx_create_db (xxx=mysql, ...) as they are deprecated We fo...
DDLAddField($table, $field_name, $field_desc, $field_position="")
Create a new field into table.
affected_rows($resultset)
Return the number o flines into the result of a request INSERT, DELETE or UPDATE.
DDLListTablesFull($database, $table='')
List tables into a database with table info.
decrypt($value)
Decrypt sensitive data in database.
DDLInfoTable($table)
List information of columns into a table.
lasterror()
Return last error label.
__construct($db)
Constructor.
getDefaultCollationDatabase()
Return collation used in database.
last_insert_id($tab, $fieldid='rowid')
Get last ID after an insert INSERT.
ifsql($test, $resok, $resko)
Format a SQL IF.
getServerParametersValues($filter='')
Return value of server parameters.
DDLGetConnectId()
Return connection ID.
lastqueryerror()
Return last query in error.
getDefaultCharacterSetDatabase()
Return charset used to store data in database.
getListOfCharacterSet()
Return list of available charset that can be used to store data in database.
endTracing($sql, $resql)
End query tracing.
getListOfCollation()
Return list of available collation that can be used for database.
connect($host, $login, $passwd, $name, $port=0)
Connection to server.
fetch_object($resultset)
Returns the current line (as an object) for the resultset cursor.
DDLDropField($table, $field_name)
Drop a field from table.
lastquery()
Return last request executed with query()
errno()
Return generic error code of last operation.
DDLDescTable($table, $field="")
Return a pointer of line with description of a table or field.
lasterrno()
Return last error code.
DDLListTables($database, $table='')
List tables into a database.
plimit($limit=0, $offset=0)
Define limits and offset of request.
idate($param, $gm='tzserver')
Convert (by PHP) a GM Timestamp date into a string date with PHP server TZ to insert into a date fiel...
DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys=null, $fulltext_keys=null, $keys=null)
Create a table into database.
getServerStatusValues($filter='')
Return value of server status.
startTracing()
Start query tracing.
DDLUpdateField($table, $field_name, $field_desc)
Update format of a field into a table.
close()
Close database connection.
query($query, $usesavepoint=0, $type='auto', $result_mode=0)
Execute a SQL request and return the resultset.
getVersion()
Return version of database server.
error()
Return description of last error.
const LABEL
@const Database label
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)
DDLDropTable($table)
Drop a table into database.
if(preg_match('/crypted:/i', $dolibarr_main_db_pass)||!empty($dolibarr_main_db_encrypted_pass)) $conf db type