dolibarr  18.0.0-alpha
Database.interface.php
1 <?php
2 /* Copyright (C) 2001 Fabien Seisen <seisen@linuxfr.org>
3  * Copyright (C) 2002-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
4  * Copyright (C) 2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
5  * Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
6  * Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
7  * Copyright (C) 2014-2015 Raphaël Doursenaud <rdoursenaud@gpcsolutions.fr>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program. If not, see <https://www.gnu.org/licenses/>.
21  */
22 
26 interface Database
27 {
36  public function ifsql($test, $resok, $resko);
37 
38  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
45  public function fetch_row($resultset);
46  // phpcs:enable
47 
55  public function idate($param);
56 
62  public function lasterrno();
63 
70  public function begin($textinlog = '');
71 
72  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
84  public function DDLCreateDb($database, $charset = '', $collation = '', $owner = '');
85  // phpcs:enable
86 
92  public function getVersionArray();
93 
101  public static function convertSQLFromMysql($line, $type = 'ddl');
102 
103  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
111  public function affected_rows($resultset);
112  // phpcs:enable
113 
119  public function error();
120 
121  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
129  public function DDLListTables($database, $table = '');
130  // phpcs:enable
131 
137  public function lastquery();
138 
146  public function order($sortfield = null, $sortorder = null);
147 
154  public function decrypt($value);
155 
156  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
163  public function fetch_array($resultset);
164  // phpcs:enable
165 
171  public function lasterror();
172 
179  public function escape($stringtoencode);
180 
187  public function escapeforlike($stringtoencode);
188 
195  public function sanitize($stringtosanitize);
196 
197  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
205  public function last_insert_id($tab, $fieldid = 'rowid');
206  // phpcs:enable
207 
213  public function getPathOfRestore();
214 
221  public function rollback($log = '');
222 
233  public function query($query, $usesavepoint = 0, $type = 'auto', $result_mode = 0);
234 
246  public function connect($host, $login, $passwd, $name, $port = 0);
247 
255  public function plimit($limit = 0, $offset = 0);
256 
263  public function getServerParametersValues($filter = '');
264 
271  public function getServerStatusValues($filter = '');
272 
278  public function getDefaultCollationDatabase();
279 
280  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
288  public function num_rows($resultset);
289  // phpcs:enable
290 
296  public function getPathOfDump();
297 
303  public function getDriverInfo();
304 
310  public function errno();
311 
312  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
325  public function DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys = null, $fulltext_keys = null, $keys = null);
326  // phpcs:enable
327 
328  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
335  public function DDLDropTable($table);
336  // phpcs:enable
337 
343  public function getListOfCharacterSet();
344 
345  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
355  public function DDLAddField($table, $field_name, $field_desc, $field_position = "");
356  // phpcs:enable
357 
358  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
366  public function DDLDropField($table, $field_name);
367  // phpcs:enable
368 
369  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
378  public function DDLUpdateField($table, $field_name, $field_desc);
379  // phpcs:enable
380 
386  public function getListOfCollation();
387 
388  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
396  public function DDLDescTable($table, $field = "");
397  // phpcs:enable
398 
404  public function getVersion();
405 
411  public function getDefaultCharacterSetDatabase();
412 
413  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
423  public function DDLCreateUser(
424  $dolibarr_main_db_host,
425  $dolibarr_main_db_user,
426  $dolibarr_main_db_pass,
427  $dolibarr_main_db_name
428  );
429  // phpcs:enable
430 
440  public function jdate($string, $gm = false);
441 
450  public function encrypt($fieldorvalue, $withQuotes = 1);
451 
458  public function commit($log = '');
459 
460  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
467  public function DDLInfoTable($table);
468  // phpcs:enable
469 
476  public function free($resultset = null);
477 
484  public function close();
485 
491  public function lastqueryerror();
492 
493  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
499  public function DDLGetConnectId();
500  // phpcs:enable
501 
502  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
509  public function fetch_object($resultset);
510  // phpcs:enable
511 
512  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
519  public function select_db($database);
520  // phpcs:enable
521 }
Database\sanitize
sanitize($stringtosanitize)
Sanitize a string for SQL forging.
Database\begin
begin($textinlog='')
Start transaction.
Database\lasterrno
lasterrno()
Return last error code.
Database\getVersion
getVersion()
Return version of database server.
Database\getDefaultCollationDatabase
getDefaultCollationDatabase()
Return collation used in database.
Database\plimit
plimit($limit=0, $offset=0)
Define limits and offset of request.
Database\escape
escape($stringtoencode)
Escape a string to insert data.
Database\DDLDropField
DDLDropField($table, $field_name)
Drop a field from table.
Database\connect
connect($host, $login, $passwd, $name, $port=0)
Connexion to server.
Database\close
close()
Close database connexion.
Database\getVersionArray
getVersionArray()
Return version of database server into an array.
Database\error
error()
Return description of last error.
Database\getDefaultCharacterSetDatabase
getDefaultCharacterSetDatabase()
Return charset used to store data in database.
Database\select_db
select_db($database)
Select a database.
Database\lasterror
lasterror()
Return last error label.
Database\idate
idate($param)
Convert (by PHP) a GM Timestamp date into a string date with PHP server TZ to insert into a date fiel...
Database\commit
commit($log='')
Validate a database transaction.
Database\lastquery
lastquery()
Return last request executed with query()
Database\DDLDescTable
DDLDescTable($table, $field="")
Return a pointer of line with description of a table or field.
Database\fetch_row
fetch_row($resultset)
Return datas as an array.
Database\getServerParametersValues
getServerParametersValues($filter='')
Return value of server parameters.
Database\getPathOfRestore
getPathOfRestore()
Return full path of restore program.
Database\last_insert_id
last_insert_id($tab, $fieldid='rowid')
Get last ID after an insert INSERT.
Database\getDriverInfo
getDriverInfo()
Return version of database client driver.
Database\convertSQLFromMysql
static convertSQLFromMysql($line, $type='ddl')
Convert a SQL request in Mysql syntax to native syntax.
Database\ifsql
ifsql($test, $resok, $resko)
Format a SQL IF.
Database\DDLCreateDb
DDLCreateDb($database, $charset='', $collation='', $owner='')
Create a new database Do not use function xxx_create_db (xxx=mysql, ...) as they are deprecated We fo...
Database\affected_rows
affected_rows($resultset)
Return the number of lines in the result of a request INSERT, DELETE or UPDATE.
Database\encrypt
encrypt($fieldorvalue, $withQuotes=1)
Encrypt sensitive data in database Warning: This function includes the escape and add the SQL simple ...
Database\fetch_object
fetch_object($resultset)
Returns the current line (as an object) for the resultset cursor.
Database\jdate
jdate($string, $gm=false)
Convert (by PHP) a PHP server TZ string date into a Timestamps date (GMT if gm=true) 19700101020000 -...
Database\getListOfCharacterSet
getListOfCharacterSet()
Return list of available charset that can be used to store data in database.
Database\getPathOfDump
getPathOfDump()
Return full path of dump program.
Database\DDLDropTable
DDLDropTable($table)
Drop a table into database.
Database\DDLInfoTable
DDLInfoTable($table)
List information of columns into a table.
Database\errno
errno()
Return generic error code of last operation.
Database\DDLCreateUser
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)
Database\free
free($resultset=null)
Free last resultset used.
Database\DDLGetConnectId
DDLGetConnectId()
Return connexion ID.
Database\DDLListTables
DDLListTables($database, $table='')
List tables into a database.
Database\decrypt
decrypt($value)
Decrypt sensitive data in database.
Database\DDLCreateTable
DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys=null, $fulltext_keys=null, $keys=null)
Create a table into database.
Database\DDLUpdateField
DDLUpdateField($table, $field_name, $field_desc)
Update format of a field into a table.
Database\order
order($sortfield=null, $sortorder=null)
Define sort criteria of request.
Database
Class to manage Dolibarr database access for an SQL database.
Definition: Database.interface.php:26
Database\lastqueryerror
lastqueryerror()
Return last query in error.
Database\num_rows
num_rows($resultset)
Return number of lines for result of a SELECT.
Database\escapeforlike
escapeforlike($stringtoencode)
Escape a string to insert data into a like.
Database\fetch_array
fetch_array($resultset)
Return datas as an array.
Database\query
query($query, $usesavepoint=0, $type='auto', $result_mode=0)
Execute a SQL request and return the resultset.
Database\DDLAddField
DDLAddField($table, $field_name, $field_desc, $field_position="")
Create a new field into table.
Database\getServerStatusValues
getServerStatusValues($filter='')
Return value of server status.
Database\rollback
rollback($log='')
Canceling a transaction and returning to old values.
Database\getListOfCollation
getListOfCollation()
Return list of available collation that can be used for database.