

Fonctions membres publiques | |
| ux_t3lib_DB () | |
| initInternalVariables () | |
| clearCachedFieldInfo () | |
| cacheFieldInfo () | |
| analyzeFields ($parsedExtSQL) | |
| mapCachedFieldInfo ($fieldInfo) | |
| exec_INSERTquery ($table, $fields_values, $no_quote_fields='') | |
| exec_UPDATEquery ($table, $where, $fields_values, $no_quote_fields='') | |
| exec_DELETEquery ($table, $where) | |
| exec_SELECTquery ($select_fields, $from_table, $where_clause, $groupBy='', $orderBy='', $limit='') | |
| INSERTquery ($table, $fields_values, $no_quote_fields='') | |
| UPDATEquery ($table, $where, $fields_values, $no_quote_fields='') | |
| DELETEquery ($table, $where) | |
| SELECTquery ($select_fields, $from_table, $where_clause, $groupBy='', $orderBy='', $limit='') | |
| quoteSelectFields ($select_fields) | |
| quoteFieldNames ($select_fields) | |
| quoteFromTables ($from_table) | |
| quoteWhereClause ($where_clause) | |
| _quoteWhereClause ($where_clause) | |
| quoteGroupBy ($groupBy) | |
| quoteOrderBy ($orderBy) | |
| fullQuoteStr ($str, $table) | |
| quoteStr ($str, $table) | |
| MetaType ($type, $table, $max_length=-1) | |
| MySQLMetaType ($t) | |
| MySQLActualType ($meta) | |
| sql_error () | |
| sql_num_rows (&$res) | |
| sql_fetch_assoc (&$res) | |
| sql_fetch_row (&$res) | |
| sql_free_result (&$res) | |
| sql_insert_id () | |
| sql_affected_rows () | |
| sql_data_seek (&$res, $seek) | |
| sql_field_metatype ($table, $field) | |
| sql_field_type (&$res, $pointer) | |
| sql ($db, $query) | |
| sql_query ($query) | |
| sql_pconnect ($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password) | |
| sql_select_db ($TYPO3_db) | |
| admin_get_dbs () | |
| admin_get_tables () | |
| admin_get_fields ($tableName) | |
| admin_get_keys ($tableName) | |
| admin_query ($query) | |
| handler_getFromTableList ($tableList) | |
| handler_init ($handlerKey) | |
| runningNative () | |
| runningADOdbDriver ($driver) | |
| map_needMapping ($tableList, $fieldMappingOnly=FALSE) | |
| map_assocArray ($input, $tables, $rev=FALSE) | |
| map_remapSELECTQueryParts (&$select_fields, &$from_table, &$where_clause, &$groupBy, &$orderBy) | |
| map_sqlParts (&$sqlPartArray, $defaultTable) | |
| map_genericQueryParsed (&$parsedQuery) | |
| map_fieldNamesInArray ($table, &$fieldArray) | |
| debugHandler ($function, $execTime, $inData) | |
| debug_WHERE ($table, $where, $script='') | |
| debug_log ($query, $ms, $data, $join, $errorFlag, $script='') | |
| debug_explain ($query) | |
Attributs publics | |
| $printErrors = false | |
| $debug = false | |
| $conf = array() | |
| $mapping = array() | |
| $table2handlerKeys = array() | |
| $handlerCfg | |
| $handlerInstance = array() | |
| $lastHandlerKey = '' | |
| $lastQuery = '' | |
| $lastParsedAndMappedQueryArray = array() | |
| $resourceIdToTableNameMap = array() | |
| $cache_handlerKeyFromTableList = array() | |
| $cache_mappingFromTableList = array() | |
| $cache_autoIncFields = array() | |
| $cache_fieldType = array() | |
| $cache_primaryKeys = array() | |
| ux_t3lib_DB::ux_t3lib_DB | ( | ) |
Constructor. Creates SQL parser object and imports configuration from $TYPO3_CONF_VARS['EXTCONF']['dbal']
| ux_t3lib_DB::initInternalVariables | ( | ) |
Setting internal variables from $this->conf
| ux_t3lib_DB::clearCachedFieldInfo | ( | ) |
| ux_t3lib_DB::cacheFieldInfo | ( | ) |
| ux_t3lib_DB::analyzeFields | ( | $ | parsedExtSQL | ) |
Analyzes fields and adds the extracted information to the field type, auto increment and primary key info caches.
| array | $parsedExtSQL The output produced by t3lib_install::getFieldDefinitions_sqlContent() |
| ux_t3lib_DB::mapCachedFieldInfo | ( | $ | fieldInfo | ) |
This function builds all definitions for mapped tables and fields
| ux_t3lib_DB::exec_INSERTquery | ( | $ | table, | |
| $ | fields_values, | |||
| $ | no_quote_fields = '' | |||
| ) |
Inserts a record for $table from the array with field/value pairs $fields_values.
| string | Table name | |
| array | Field values as key=>value pairs. Values will be escaped internally. Typically you would fill an array like "$insertFields" with 'fieldname'=>'value' and pass it to this function as argument. | |
| mixed | List/array of keys NOT to quote (eg. SQL functions) |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::exec_UPDATEquery | ( | $ | table, | |
| $ | where, | |||
| $ | fields_values, | |||
| $ | no_quote_fields = '' | |||
| ) |
Updates a record from $table
| string | Database tablename | |
| string | WHERE clause, eg. "uid=1". NOTICE: You must escape values in this argument with $this->fullQuoteStr() yourself! | |
| array | Field values as key=>value pairs. Values will be escaped internally. Typically you would fill an array like "$updateFields" with 'fieldname'=>'value' and pass it to this function as argument. | |
| mixed | List/array of keys NOT to quote (eg. SQL functions) |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::exec_DELETEquery | ( | $ | table, | |
| $ | where | |||
| ) |
Deletes records from table
| string | Database tablename | |
| string | WHERE clause, eg. "uid=1". NOTICE: You must escape values in this argument with $this->fullQuoteStr() yourself! |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::exec_SELECTquery | ( | $ | select_fields, | |
| $ | from_table, | |||
| $ | where_clause, | |||
| $ | groupBy = '', |
|||
| $ | orderBy = '', |
|||
| $ | limit = '' | |||
| ) |
Selects records from Data Source
| string | $select_fields List of fields to select from the table. This is what comes right after "SELECT ...". Required value. | |
| string | $from_table Table(s) from which to select. This is what comes right after "FROM ...". Required value. | |
| string | $where_clause Optional additional WHERE clauses put in the end of the query. NOTICE: You must escape values in this argument with $this->fullQquoteStr() yourself! DO NOT PUT IN GROUP BY, ORDER BY or LIMIT! | |
| string | $groupBy Optional GROUP BY field(s), if none, supply blank string. | |
| string | $orderBy Optional ORDER BY field(s), if none, supply blank string. | |
| string | $limit Optional LIMIT value ([begin,]max), if none, supply blank string. |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::INSERTquery | ( | $ | table, | |
| $ | fields_values, | |||
| $ | no_quote_fields = '' | |||
| ) |
Creates an INSERT SQL-statement for $table from the array with field/value pairs $fields_values. Usage count/core: 4
| string | See exec_INSERTquery() | |
| array | See exec_INSERTquery() | |
| mixed | See exec_INSERTquery() |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::UPDATEquery | ( | $ | table, | |
| $ | where, | |||
| $ | fields_values, | |||
| $ | no_quote_fields = '' | |||
| ) |
Creates an UPDATE SQL-statement for $table where $where-clause (typ. 'uid=...') from the array with field/value pairs $fields_values. Usage count/core: 6
| string | See exec_UPDATEquery() | |
| string | See exec_UPDATEquery() | |
| array | See exec_UPDATEquery() | |
| mixed | See exec_UPDATEquery() |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::DELETEquery | ( | $ | table, | |
| $ | where | |||
| ) |
Creates a DELETE SQL-statement for $table where $where-clause Usage count/core: 3
| string | See exec_DELETEquery() | |
| string | See exec_DELETEquery() |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::SELECTquery | ( | $ | select_fields, | |
| $ | from_table, | |||
| $ | where_clause, | |||
| $ | groupBy = '', |
|||
| $ | orderBy = '', |
|||
| $ | limit = '' | |||
| ) |
Creates a SELECT SQL-statement Usage count/core: 11
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::quoteSelectFields | ( | $ | select_fields | ) |
| ux_t3lib_DB::quoteFieldNames | ( | $ | select_fields | ) |
| ux_t3lib_DB::quoteFromTables | ( | $ | from_table | ) |
| ux_t3lib_DB::quoteWhereClause | ( | $ | where_clause | ) |
Quotes the field (and table) names within a where clause with the quote character suitable for the DB being used
| string | A where clause that can e parsed by parseWhereClause |
| ux_t3lib_DB::_quoteWhereClause | ( | $ | where_clause | ) |
[Describe function...]
| [type] | $$groupBy: ... |
| ux_t3lib_DB::quoteGroupBy | ( | $ | groupBy | ) |
[Describe function...]
| [type] | $$groupBy: ... |
| ux_t3lib_DB::quoteOrderBy | ( | $ | orderBy | ) |
[Describe function...]
| [type] | $$orderBy: ... |
| ux_t3lib_DB::fullQuoteStr | ( | $ | str, | |
| $ | table | |||
| ) |
Escaping and quoting values for SQL statements.
| string | Input string | |
| string | Table name for which to quote string. Just enter the table that the field-value is selected from (and any DBAL will look up which handler to use and then how to quote the string!). |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::quoteStr | ( | $ | str, | |
| $ | table | |||
| ) |
Substitution for PHP function "addslashes()" NOTICE: You must wrap the output of this function in SINGLE QUOTES to be DBAL compatible. Unless you have to apply the single quotes yourself you should rather use ->fullQuoteStr()!
| string | Input string | |
| string | Table name for which to quote string. Just enter the table that the field-value is selected from (and any DBAL will look up which handler to use and then how to quote the string!). |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::MetaType | ( | $ | type, | |
| $ | table, | |||
| $ | max_length = -1 | |||
| ) |
Return MetaType for native field type (ADOdb only!)
| string | native type as reported by admin_get_fields() | |
| string | Table name for which query type string. Important for detection of DBMS handler of the query! |
| ux_t3lib_DB::MySQLMetaType | ( | $ | t | ) |
Return MetaType for native MySQL field type
| string | native type as reported as in mysqldump files |
| ux_t3lib_DB::MySQLActualType | ( | $ | meta | ) |
Return actual MySQL type for meta field type
| string | Meta type (currenly ADOdb syntax only, http://phplens.com/lens/adodb/docs-adodb.htm#metatype) |
| ux_t3lib_DB::sql_error | ( | ) |
| ux_t3lib_DB::sql_num_rows | ( | &$ | res | ) |
Returns the number of selected rows.
| pointer | Result pointer / DBAL object |
| ux_t3lib_DB::sql_fetch_assoc | ( | &$ | res | ) |
Returns an associative array that corresponds to the fetched row, or FALSE if there are no more rows.
| pointer | MySQL result pointer (of SELECT query) / DBAL object |
| ux_t3lib_DB::sql_fetch_row | ( | &$ | res | ) |
Returns an array that corresponds to the fetched row, or FALSE if there are no more rows. The array contains the values in numerical indices.
| pointer | MySQL result pointer (of SELECT query) / DBAL object |
| ux_t3lib_DB::sql_free_result | ( | &$ | res | ) |
Free result memory / unset result object
| pointer | MySQL result pointer to free / DBAL object |
| ux_t3lib_DB::sql_insert_id | ( | ) |
Get the ID generated from the previous INSERT operation
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::sql_affected_rows | ( | ) |
Returns the number of rows affected by the last INSERT, UPDATE or DELETE query
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::sql_data_seek | ( | &$ | res, | |
| $ | seek | |||
| ) |
Move internal result pointer
| pointer | MySQL result pointer (of SELECT query) / DBAL object | |
| integer | Seek result number. |
| ux_t3lib_DB::sql_field_metatype | ( | $ | table, | |
| $ | field | |||
| ) |
Get the type of the specified field in a result
If the first parameter is a string, it is used as table name for the lookup.
| pointer | MySQL result pointer (of SELECT query) / DBAL object / table name | |
| integer | Field index. In case of ADOdb a string (field name!) FIXME |
| ux_t3lib_DB::sql_field_type | ( | &$ | res, | |
| $ | pointer | |||
| ) |
Get the type of the specified field in a result
If the first parameter is a string, it is used as table name for the lookup.
| pointer | MySQL result pointer (of SELECT query) / DBAL object / table name | |
| integer | Field index. In case of ADOdb a string (field name!) FIXME |
| ux_t3lib_DB::sql | ( | $ | db, | |
| $ | query | |||
| ) |
| ux_t3lib_DB::sql_query | ( | $ | query | ) |
| ux_t3lib_DB::sql_pconnect | ( | $ | TYPO3_db_host, | |
| $ | TYPO3_db_username, | |||
| $ | TYPO3_db_password | |||
| ) |
Opening the _DEFAULT connection handler to the database. This is typically done by the scripts "init.php" in the backend or "index_ts.php" in the frontend (tslib_fe->connectToMySQL()) You wouldn't need to use this at any time - let TYPO3 core handle this.
| string | Database host IP/domain | |
| string | Username to connect with. | |
| string | Password to connect with. |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::sql_select_db | ( | $ | TYPO3_db | ) |
Select database for _DEFAULT handler.
| string | Database to connect to. |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::admin_get_dbs | ( | ) |
Listing databases from current MySQL connection. NOTICE: It WILL try to select those databases and thus break selection of current database. Use in Install Tool only! Usage count/core: 1
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::admin_get_tables | ( | ) |
Returns the list of tables from the system (quering the DBMSs) It looks up all tables from the DBMS of the _DEFAULT handler and then add all tables *configured* to be managed by other handlers
When fetching the tables, it skips tables whose names begin with BIN$, as this is taken as a table coming from the "Recycle Bin" on Oracle.
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::admin_get_fields | ( | $ | tableName | ) |
Returns information about each field in the $table (quering the DBMS) In a DBAL this should look up the right handler for the table and return compatible information This function is important not only for the Install Tool but probably for DBALs as well since they might need to look up table specific information in order to construct correct queries. In such cases this information should probably be cached for quick delivery
| string | Table name |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::admin_get_keys | ( | $ | tableName | ) |
Returns information about each index key in the $table (quering the DBMS) In a DBAL this should look up the right handler for the table and return compatible information
| string | Table name |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::admin_query | ( | $ | query | ) |
mysql() wrapper function, used by the Install Tool and EM for all queries regarding management of the database!
| string | Query to execute |
Réimplémentée à partir de t3lib_DB.
| ux_t3lib_DB::handler_getFromTableList | ( | $ | tableList | ) |
Return the handler key pointing to an appropriate database handler as found in $this->handlerCfg array Notice: TWO or more tables in the table list MUST use the SAME handler key - otherwise a fatal error is thrown! (Logically, no database can possibly join two tables from separate sources!)
| string | Table list, eg. "pages" or "pages, tt_content" or "pages AS A, tt_content AS B" |
| ux_t3lib_DB::handler_init | ( | $ | handlerKey | ) |
Initialize handler (connecting to database)
| string | Handler key |
| ux_t3lib_DB::runningNative | ( | ) |
| ux_t3lib_DB::runningADOdbDriver | ( | $ | driver | ) |
Checks whether the ADOdb handler is running with a driver that contains the argument
| string | $driver Driver name, matched with strstr(). |
| ux_t3lib_DB::map_needMapping | ( | $ | tableList, | |
| $ | fieldMappingOnly = FALSE | |||
| ) |
Checks if mapping is needed for a table(list)
| string | List of tables in query | |
| boolean | If true, it will check only if FIELDs are configured and ignore the mapped table name if any. |
| ux_t3lib_DB::map_assocArray | ( | $ | input, | |
| $ | tables, | |||
| $ | rev = FALSE | |||
| ) |
Takes an associated array with field => value pairs and remaps the field names if configured for this table in $this->mapping array. Be careful not to map a field name to another existing fields name (although you can use this to swap fieldnames of course...:-) Observe mapping problems with join-results (more than one table): Joined queries should always prefix the table name to avoid problems with this. Observe that alias fields are not mapped of course (should not be a problem though)
| array | Input array, associative keys | |
| array | Array of tables from the query. Normally just one table; many tables in case of a join. NOTICE: for multiple tables (with joins) there MIGHT occur trouble with fields of the same name in the two tables: This function traverses the mapping information for BOTH tables and applies mapping without checking from which table the field really came! | |
| boolean | If true, reverse direction. Default direction is to map an array going INTO the database (thus mapping TYPO3 fieldnames to PHYSICAL field names!) |
| ux_t3lib_DB::map_remapSELECTQueryParts | ( | &$ | select_fields, | |
| &$ | from_table, | |||
| &$ | where_clause, | |||
| &$ | groupBy, | |||
| &$ | orderBy | |||
| ) |
Remaps table/field names in a SELECT query's parts Notice: All arguments are passed by reference!
| string | List of fields to select from the table. This is what comes right after "SELECT ...". Required value. | |
| string | Table(s) from which to select. This is what comes right after "FROM ...". Require value. | |
| string | Where clause. This is what comes right after "WHERE ...". Can be blank. | |
| string | Group by field(s) | |
| string | Order by field(s) |
| ux_t3lib_DB::map_sqlParts | ( | &$ | sqlPartArray, | |
| $ | defaultTable | |||
| ) |
Generic mapping of table/field names arrays (as parsed by t3lib_sqlengine)
| array | Array with parsed SQL parts; Takes both fields, tables, where-parts, group and order-by. Passed by reference. | |
| string | Default table name to assume if no table is found in $sqlPartArray |
| ux_t3lib_DB::map_genericQueryParsed | ( | &$ | parsedQuery | ) |
Will do table/field mapping on a general t3lib_sqlengine-compliant SQL query (May still not support all query types...)
| array | Parsed QUERY as from t3lib_sqlengine::parseSQL(). NOTICE: Passed by reference! |
... and here support for all other query types should be!
| ux_t3lib_DB::map_fieldNamesInArray | ( | $ | table, | |
| &$ | fieldArray | |||
| ) |
Re-mapping field names in array
| string | (TYPO3) Table name for fields. | |
| array | Array of fieldnames to remap. Notice: Passed by reference! |
| ux_t3lib_DB::debugHandler | ( | $ | function, | |
| $ | execTime, | |||
| $ | inData | |||
| ) |
Debug handler for query execution
| string | Function name from which this function is called. | |
| string | Execution time in ms of the query | |
| array | In-data of various kinds. |
| ux_t3lib_DB::debug_WHERE | ( | $ | table, | |
| $ | where, | |||
| $ | script = '' | |||
| ) |
Log the where clause for debugging purposes.
| string | $table Table name(s) the query was targeted at | |
| string | $where The WHERE clause to be logged | |
| string | $script The script calling the logging |
| ux_t3lib_DB::debug_log | ( | $ | query, | |
| $ | ms, | |||
| $ | data, | |||
| $ | join, | |||
| $ | errorFlag, | |||
| $ | script = '' | |||
| ) |
Insert row in the log table
| string | The current query | |
| integer | Execution time of query in milliseconds | |
| array | Data to be stored serialized. | |
| string | Join string if there IS a join. | |
| integer | Error status. | |
| string | $script The script calling the logging |
| ux_t3lib_DB::debug_explain | ( | $ | query | ) |
Perform EXPLAIN query on DEFAULT handler!
| string | SELECT Query |
| ux_t3lib_DB::$printErrors = false |
| ux_t3lib_DB::$debug = false |
| ux_t3lib_DB::$conf = array() |
| ux_t3lib_DB::$mapping = array() |
| ux_t3lib_DB::$table2handlerKeys = array() |
| ux_t3lib_DB::$handlerCfg |
Valeur initiale :
array ( // See manual. '_DEFAULT' => array ( 'type' => 'native', 'config' => array( 'username' => '', // Set by default (overridden) 'password' => '', // Set by default (overridden) 'host' => '', // Set by default (overridden) 'database' => '', // Set by default (overridden) 'driver' => '', // ONLY "adodb" type; eg. "mysql" 'sequenceStart' => 1 // ONLY "adodb", first number in sequences/serials/... ) ), )
| ux_t3lib_DB::$handlerInstance = array() |
| ux_t3lib_DB::$lastHandlerKey = '' |
| ux_t3lib_DB::$lastQuery = '' |
| ux_t3lib_DB::$lastParsedAndMappedQueryArray = array() |
| ux_t3lib_DB::$resourceIdToTableNameMap = array() |
| ux_t3lib_DB::$cache_handlerKeyFromTableList = array() |
| ux_t3lib_DB::$cache_mappingFromTableList = array() |
| ux_t3lib_DB::$cache_autoIncFields = array() |
| ux_t3lib_DB::$cache_fieldType = array() |
| ux_t3lib_DB::$cache_primaryKeys = array() |
1.5.3