dolibarr  18.0.0
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 
132  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
140  public function DDLListTablesFull($database, $table = '');
141  // phpcs:enable
142 
148  public function lastquery();
149 
157  public function order($sortfield = '', $sortorder = '');
158 
165  public function decrypt($value);
166 
167  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
174  public function fetch_array($resultset);
175  // phpcs:enable
176 
182  public function lasterror();
183 
190  public function escape($stringtoencode);
191 
198  public function escapeforlike($stringtoencode);
199 
206  public function sanitize($stringtosanitize);
207 
208  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
216  public function last_insert_id($tab, $fieldid = 'rowid');
217  // phpcs:enable
218 
224  public function getPathOfRestore();
225 
232  public function rollback($log = '');
233 
244  public function query($query, $usesavepoint = 0, $type = 'auto', $result_mode = 0);
245 
257  public function connect($host, $login, $passwd, $name, $port = 0);
258 
266  public function plimit($limit = 0, $offset = 0);
267 
274  public function getServerParametersValues($filter = '');
275 
282  public function getServerStatusValues($filter = '');
283 
289  public function getDefaultCollationDatabase();
290 
291  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
299  public function num_rows($resultset);
300  // phpcs:enable
301 
307  public function getPathOfDump();
308 
314  public function getDriverInfo();
315 
321  public function errno();
322 
323  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
336  public function DDLCreateTable($table, $fields, $primary_key, $type, $unique_keys = null, $fulltext_keys = null, $keys = null);
337  // phpcs:enable
338 
339  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
346  public function DDLDropTable($table);
347  // phpcs:enable
348 
354  public function getListOfCharacterSet();
355 
356  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
366  public function DDLAddField($table, $field_name, $field_desc, $field_position = "");
367  // phpcs:enable
368 
369  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
377  public function DDLDropField($table, $field_name);
378  // phpcs:enable
379 
380  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
389  public function DDLUpdateField($table, $field_name, $field_desc);
390  // phpcs:enable
391 
397  public function getListOfCollation();
398 
399  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
407  public function DDLDescTable($table, $field = "");
408  // phpcs:enable
409 
415  public function getVersion();
416 
422  public function getDefaultCharacterSetDatabase();
423 
424  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
434  public function DDLCreateUser(
435  $dolibarr_main_db_host,
436  $dolibarr_main_db_user,
437  $dolibarr_main_db_pass,
438  $dolibarr_main_db_name
439  );
440  // phpcs:enable
441 
451  public function jdate($string, $gm = false);
452 
461  public function encrypt($fieldorvalue, $withQuotes = 1);
462 
469  public function commit($log = '');
470 
471  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
478  public function DDLInfoTable($table);
479  // phpcs:enable
480 
487  public function free($resultset = null);
488 
495  public function close();
496 
502  public function lastqueryerror();
503 
504  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
510  public function DDLGetConnectId();
511  // phpcs:enable
512 
513  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
520  public function fetch_object($resultset);
521  // phpcs:enable
522 
523  // phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
530  public function select_db($database);
531  // phpcs:enable
532 }
Database\sanitize
sanitize($stringtosanitize)
Sanitize a string for SQL forging.
Database\begin
begin($textinlog='')
Start transaction.
Database\order
order($sortfield='', $sortorder='')
Define sort criteria of request.
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
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.
Database\DDLListTablesFull
DDLListTablesFull($database, $table='')
List tables into a database with table type.