|
TYPO3 API
SVNRelease
|


Public Member Functions | |
| __construct () | |
| clearCachedFieldInfo () | |
| cacheFieldInfo () | |
| exec_INSERTquery ($table, $fields_values, $no_quote_fields= '') | |
| exec_INSERTmultipleRows ($table, array $fields, array $rows, $no_quote_fields=FALSE) | |
| exec_UPDATEquery ($table, $where, $fields_values, $no_quote_fields= '') | |
| exec_DELETEquery ($table, $where) | |
| exec_SELECTquery ($select_fields, $from_table, $where_clause, $groupBy= '', $orderBy= '', $limit= '') | |
| exec_TRUNCATEquery ($table) | |
| INSERTquery ($table, $fields_values, $no_quote_fields= '') | |
| INSERTmultipleRows ($table, array $fields, array $rows, $no_quote_fields=FALSE) | |
| UPDATEquery ($table, $where, $fields_values, $no_quote_fields= '') | |
| DELETEquery ($table, $where) | |
| SELECTquery ($select_fields, $from_table, $where_clause, $groupBy= '', $orderBy= '', $limit= '') | |
| TRUNCATEquery ($table) | |
| prepare_SELECTquery ($select_fields, $from_table, $where_clause, $groupBy= '', $orderBy= '', $limit= '', array $input_parameters=array()) | |
| exec_PREPAREDquery ($query, array $precompiledParts) | |
| quoteSelectFields ($select_fields) | |
| quoteFieldNames ($select_fields) | |
| quoteFromTables ($from_table) | |
| quoteWhereClause ($where_clause) | |
| fullQuoteStr ($str, $table) | |
| quoteStr ($str, $table) | |
| quoteName ($name, $handlerKey=NULL, $useBackticks=FALSE) | |
| MetaType ($type, $table, $max_length=-1) | |
| MySQLMetaType ($t) | |
| MySQLActualType ($meta) | |
| sql_error () | |
| sql_errno () | |
| 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_get_charsets () | |
| admin_query ($query) | |
| handler_getFromTableList ($tableList) | |
| handler_init ($handlerKey) | |
| isConnected () | |
| runningNative () | |
| runningADOdbDriver ($driver) | |
| debugHandler ($function, $execTime, $inData) | |
| debug_WHERE ($table, $where, $script= '') | |
| debug_log ($query, $ms, $data, $join, $errorFlag, $script= '') | |
| debug_explain ($query) | |
Public Attributes | |
| $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() | |
| $SQLparser | |
| $Installer | |
Protected Member Functions | |
| initInternalVariables () | |
| analyzeFields ($parsedExtSQL) | |
| mapCachedFieldInfo ($fieldInfo) | |
| exec_query (array $queryParts) | |
| SELECTqueryFromArray (array $params) | |
| compileSelectParameters (array $params) | |
| getQueryComponents ($select_fields, $from_table, $where_clause, $groupBy, $orderBy, $limit) | |
| precompileSELECTquery (array $components) | |
| quoteSELECTsubquery (array $components) | |
| _quoteFieldNames (array $select_fields) | |
| _quoteFromTables (array $from_table) | |
| _quoteWhereClause (array $where_clause) | |
| quoteGroupBy ($groupBy) | |
| _quoteGroupBy (array $groupBy) | |
| quoteOrderBy ($orderBy) | |
| _quoteOrderBy (array $orderBy) | |
| map_needMapping ($tableList, $fieldMappingOnly=FALSE, array &$parsedTableList=array()) | |
| map_assocArray ($input, $tables, $rev=FALSE) | |
| map_remapSELECTQueryParts ($select_fields, $from_table, $where_clause, $groupBy, $orderBy) | |
| getMappingKey ($tableName) | |
| getFreeMappingKey ($tableName) | |
| map_sqlParts (&$sqlPartArray, $defaultTable) | |
| map_subquery (&$parsedQuery) | |
| map_genericQueryParsed (&$parsedQuery) | |
| map_fieldNamesInArray ($table, &$fieldArray) | |
Protected Attributes | |
| $queryCache | |
Definition at line 161 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::__construct | ( | ) |
Constructor. Creates SQL parser object and imports configuration from $TYPO3_CONF_VARS['EXTCONF']['dbal']
Definition at line 227 of file class.ux_t3lib_db.php.
References $GLOBALS, tx_dbal_querycache\initDbalCache(), tx_dbal_querycache\initializeCachingFramework(), initInternalVariables(), and t3lib_div\makeInstance().
| ux_t3lib_DB::_quoteFieldNames | ( | array $ | select_fields | ) | [protected] |
Quotes field (and table) names in a SQL SELECT clause acccording to DB rules
| array | $select_fields | The parsed fields to quote |
Definition at line 1678 of file class.ux_t3lib_db.php.
References _quoteWhereClause(), quoteFieldNames(), and quoteName().
Referenced by prepare_SELECTquery(), quoteFieldNames(), quoteSELECTsubquery(), and SELECTqueryFromArray().
| ux_t3lib_DB::_quoteFromTables | ( | array $ | from_table | ) | [protected] |
Quotes table names in a SQL FROM clause acccording to DB rules
| array | $from_table | The parsed FROM clause to quote |
Definition at line 1735 of file class.ux_t3lib_db.php.
References quoteName().
Referenced by prepare_SELECTquery(), quoteFromTables(), quoteSELECTsubquery(), and SELECTqueryFromArray().
| ux_t3lib_DB::_quoteGroupBy | ( | array $ | groupBy | ) | [protected] |
Quotes field names in a SQL GROUP BY clause acccording to DB rules
| array | $groupBy | The parsed GROUP BY clause to quote |
Definition at line 1884 of file class.ux_t3lib_db.php.
References quoteName().
Referenced by prepare_SELECTquery(), quoteGroupBy(), and SELECTqueryFromArray().
| ux_t3lib_DB::_quoteOrderBy | ( | array $ | orderBy | ) | [protected] |
Quotes field names in a SQL ORDER BY clause acccording to DB rules
| array | $orderBy | The parsed ORDER BY clause to quote |
Definition at line 1922 of file class.ux_t3lib_db.php.
References quoteName().
Referenced by prepare_SELECTquery(), quoteOrderBy(), and SELECTqueryFromArray().
| ux_t3lib_DB::_quoteWhereClause | ( | array $ | where_clause | ) | [protected] |
Quotes field names in a SQL WHERE clause acccording to DB rules
| array | $where_clause | The parsed WHERE clause to quote |
Definition at line 1787 of file class.ux_t3lib_db.php.
References t3lib_DB\escapeStrForLike(), t3lib_div\inList(), quoteFieldNames(), quoteName(), and quoteSELECTsubquery().
Referenced by _quoteFieldNames(), prepare_SELECTquery(), quoteSELECTsubquery(), quoteWhereClause(), and SELECTqueryFromArray().
| ux_t3lib_DB::admin_get_charsets | ( | ) |
mysql() wrapper function, used by the Install Tool.
Reimplemented from t3lib_DB.
Definition at line 2888 of file class.ux_t3lib_db.php.
| 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
Reimplemented from t3lib_DB.
Definition at line 2603 of file class.ux_t3lib_db.php.
References $row, and sql_select_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 |
Reimplemented from t3lib_DB.
Definition at line 2714 of file class.ux_t3lib_db.php.
References handler_getFromTableList(), map_needMapping(), MetaType(), and MySQLActualType().
| 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 |
Reimplemented from t3lib_DB.
Definition at line 2783 of file class.ux_t3lib_db.php.
References handler_getFromTableList(), and map_needMapping().
| 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.
Should the check for Oracle Recycle Bin stuff be moved elsewhere?
Should return table details in value! see t3lib_db::admin_get_tables()
Reimplemented from t3lib_DB.
Definition at line 2644 of file class.ux_t3lib_db.php.
References sql_error(), and sql_fetch_assoc().
| 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 |
Reimplemented from t3lib_DB.
Definition at line 2898 of file class.ux_t3lib_db.php.
References $query, exec_INSERTquery(), exec_TRUNCATEquery(), handler_getFromTableList(), and map_genericQueryParsed().
| ux_t3lib_DB::analyzeFields | ( | $ | parsedExtSQL | ) | [protected] |
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_fileContent() |
Definition at line 340 of file class.ux_t3lib_db.php.
References MySQLMetaType().
Referenced by cacheFieldInfo().
| ux_t3lib_DB::cacheFieldInfo | ( | ) |
Caches the field information.
Definition at line 292 of file class.ux_t3lib_db.php.
References $GLOBALS, analyzeFields(), mapCachedFieldInfo(), and t3lib_div\writeFile().
Referenced by initInternalVariables().
| ux_t3lib_DB::clearCachedFieldInfo | ( | ) |
Clears the cached field information file.
Definition at line 281 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::compileSelectParameters | ( | array $ | params | ) | [protected] |
Compiles and returns an array of SELECTquery parameters (without $limit) to be used with SELECTquery() or exec_SELECTquery().
| array | $params |
Definition at line 1269 of file class.ux_t3lib_db.php.
Referenced by exec_SELECTquery(), and SELECTqueryFromArray().
| ux_t3lib_DB::debug_explain | ( | $ | query | ) |
Perform EXPLAIN query on DEFAULT handler!
| string | SELECT Query |
Definition at line 3856 of file class.ux_t3lib_db.php.
References $query, $res, $row, sql_fetch_assoc(), and sql_query().
Referenced by debugHandler().
| ux_t3lib_DB::debug_log | ( | $ | query, |
| $ | ms, | ||
| $ | data, | ||
| $ | join, | ||
| $ | errorFlag, | ||
| $ | script = '' |
||
| ) |
Inserts 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 |
Definition at line 3823 of file class.ux_t3lib_db.php.
References $GLOBALS, $query, and exec_INSERTquery().
Referenced by debugHandler().
| ux_t3lib_DB::debug_WHERE | ( | $ | table, |
| $ | where, | ||
| $ | script = '' |
||
| ) |
Logs 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 |
Definition at line 3800 of file class.ux_t3lib_db.php.
References $GLOBALS, and exec_INSERTquery().
Referenced by debugHandler().
| 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. |
Definition at line 3705 of file class.ux_t3lib_db.php.
References $query, debug_explain(), debug_log(), debug_WHERE(), t3lib_div\inList(), sql_affected_rows(), and sql_error().
Referenced by exec_DELETEquery(), exec_INSERTquery(), exec_PREPAREDquery(), exec_SELECTquery(), exec_TRUNCATEquery(), exec_UPDATEquery(), and prepare_SELECTquery().
| 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() |
Reimplemented from t3lib_DB.
Definition at line 1170 of file class.ux_t3lib_db.php.
References $query, debugOutput, quoteFromTables(), and quoteWhereClause().
Referenced by exec_DELETEquery().
| 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! |
Reimplemented from t3lib_DB.
Definition at line 691 of file class.ux_t3lib_db.php.
References t3lib_DB\debug(), debugHandler(), DELETEquery(), handler_getFromTableList(), map_needMapping(), map_sqlParts(), t3lib_div\milliseconds(), and sql_error().
Referenced by exec_query().
| ux_t3lib_DB::exec_INSERTmultipleRows | ( | $ | table, |
| array $ | fields, | ||
| array $ | rows, | ||
| $ | no_quote_fields = FALSE |
||
| ) |
Creates and executes an INSERT SQL-statement for $table with multiple rows. This method uses exec_INSERTquery() and is just a syntax wrapper to it.
| string | Table name |
| array | Field names |
| array | Table rows. Each row should be an array with field values mapping to $fields |
| string/array | See fullQuoteArray() |
Reimplemented from t3lib_DB.
Definition at line 573 of file class.ux_t3lib_db.php.
References $res, $row, $value, and exec_INSERTquery().
| 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) |
Reimplemented from t3lib_DB.
Definition at line 433 of file class.ux_t3lib_db.php.
References $content, t3lib_DB\debug(), debugHandler(), fullQuoteStr(), handler_getFromTableList(), INSERTquery(), map_assocArray(), map_needMapping(), t3lib_div\milliseconds(), quoteFromTables(), quoteWhereClause(), sql_error(), and sql_insert_id().
Referenced by admin_query(), debug_log(), debug_WHERE(), exec_INSERTmultipleRows(), and exec_query().
| ux_t3lib_DB::exec_PREPAREDquery | ( | $ | query, |
| array $ | precompiledParts | ||
| ) |
Executes a prepared query.
| string | $query | The query to execute |
| array | $queryComponents | The components of the query to execute |
Reimplemented from t3lib_DB.
Definition at line 1531 of file class.ux_t3lib_db.php.
References $query, t3lib_DB\debug(), debugHandler(), t3lib_div\intExplode(), t3lib_div\milliseconds(), runningADOdbDriver(), sql_error(), and sql_num_rows().
| ux_t3lib_DB::exec_query | ( | array $ | queryParts | ) | [protected] |
Executes a query. EXPERIMENTAL since TYPO3 4.4.
| array | $queryParts | SQL parsed by method parseSQL() of t3lib_sqlparser |
Definition at line 915 of file class.ux_t3lib_db.php.
References $GLOBALS, exec_DELETEquery(), exec_INSERTquery(), exec_SELECTquery(), exec_TRUNCATEquery(), and exec_UPDATEquery().
Referenced by sql_query().
| 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. |
Reimplemented from t3lib_DB.
Definition at line 759 of file class.ux_t3lib_db.php.
References compileSelectParameters(), t3lib_DB\debug(), debugHandler(), handler_getFromTableList(), t3lib_div\intExplode(), map_needMapping(), map_remapSELECTQueryParts(), t3lib_div\milliseconds(), SELECTquery(), SELECTqueryFromArray(), sql_error(), and sql_num_rows().
Referenced by exec_query().
| ux_t3lib_DB::exec_TRUNCATEquery | ( | $ | table | ) |
Truncates a table.
| string | Database tablename |
Reimplemented from t3lib_DB.
Definition at line 856 of file class.ux_t3lib_db.php.
References t3lib_DB\debug(), debugHandler(), handler_getFromTableList(), map_needMapping(), t3lib_div\milliseconds(), sql_error(), and TRUNCATEquery().
Referenced by admin_query(), and exec_query().
| 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) |
Reimplemented from t3lib_DB.
Definition at line 598 of file class.ux_t3lib_db.php.
References $content, t3lib_DB\debug(), debugHandler(), fullQuoteStr(), handler_getFromTableList(), map_assocArray(), map_needMapping(), map_sqlParts(), t3lib_div\milliseconds(), quoteFromTables(), quoteWhereClause(), sql_error(), and UPDATEquery().
Referenced by exec_query().
| 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!). |
Reimplemented from t3lib_DB.
Definition at line 1947 of file class.ux_t3lib_db.php.
References quoteStr().
Referenced by exec_INSERTquery(), exec_UPDATEquery(), INSERTquery(), and UPDATEquery().
| ux_t3lib_DB::getFreeMappingKey | ( | $ | tableName | ) | [protected] |
Returns a free key to be used to store mapping information in $this->mapping.
| string | $tableName |
Definition at line 3396 of file class.ux_t3lib_db.php.
Referenced by map_remapSELECTQueryParts(), and map_subquery().
| ux_t3lib_DB::getMappingKey | ( | $ | tableName | ) | [protected] |
Returns the key to be used when retrieving information from $this->mapping. This ensures that mapping from aliased tables is properly retrieved.
| string | $tableName |
Definition at line 3382 of file class.ux_t3lib_db.php.
Referenced by map_assocArray(), map_remapSELECTQueryParts(), map_sqlParts(), and map_subquery().
| ux_t3lib_DB::getQueryComponents | ( | $ | select_fields, |
| $ | from_table, | ||
| $ | where_clause, | ||
| $ | groupBy, | ||
| $ | orderBy, | ||
| $ | limit | ||
| ) | [protected] |
Returns the parsed query components.
| string | $select_fields | |
| string | $from_table | |
| string | $where_clause | |
| string | $groupBy | |
| string | $orderBy | |
| string | $limit |
Definition at line 1424 of file class.ux_t3lib_db.php.
References handler_getFromTableList(), t3lib_div\intExplode(), and runningADOdbDriver().
Referenced by prepare_SELECTquery().
| 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" |
Definition at line 2974 of file class.ux_t3lib_db.php.
References handler_init().
Referenced by admin_get_fields(), admin_get_keys(), admin_query(), exec_DELETEquery(), exec_INSERTquery(), exec_SELECTquery(), exec_TRUNCATEquery(), exec_UPDATEquery(), getQueryComponents(), MetaType(), precompileSELECTquery(), quoteStr(), and SELECTquery().
| ux_t3lib_DB::handler_init | ( | $ | handlerKey | ) |
Initialize handler (connecting to database)
| string | Handler key |
Definition at line 3022 of file class.ux_t3lib_db.php.
References $GLOBALS, t3lib_DB\$link, t3lib_extMgm\extPath(), t3lib_div\getFileAbsFileName(), isConnected(), t3lib_div\makeInstance(), and t3lib_div\trimExplode().
Referenced by handler_getFromTableList(), and sql_pconnect().
| ux_t3lib_DB::initInternalVariables | ( | ) | [protected] |
Setting internal variables from $this->conf.
Definition at line 258 of file class.ux_t3lib_db.php.
References cacheFieldInfo(), and t3lib_DB\debug().
Referenced by __construct().
| ux_t3lib_DB::INSERTmultipleRows | ( | $ | table, |
| array $ | fields, | ||
| array $ | rows, | ||
| $ | no_quote_fields = FALSE |
||
| ) |
Creates an INSERT SQL-statement for $table with multiple rows. This method will create multiple INSERT queries concatenated with ';'
| string | Table name |
| array | Field names |
| array | Table rows. Each row should be an array with field values mapping to $fields |
| string/array | See fullQuoteArray() |
Reimplemented from t3lib_DB.
Definition at line 1052 of file class.ux_t3lib_db.php.
References $row, $value, and INSERTquery().
| 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() |
Reimplemented from t3lib_DB.
Definition at line 978 of file class.ux_t3lib_db.php.
References $query, debugOutput, fullQuoteStr(), quoteFieldNames(), quoteFromTables(), runningNative(), and sql_field_metatype().
Referenced by exec_INSERTquery(), and INSERTmultipleRows().
| ux_t3lib_DB::isConnected | ( | ) |
Checks if database is connected.
Reimplemented from t3lib_DB.
Definition at line 3140 of file class.ux_t3lib_db.php.
Referenced by handler_init().
| ux_t3lib_DB::map_assocArray | ( | $ | input, |
| $ | tables, | ||
| $ | rev = FALSE |
||
| ) | [protected] |
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!) |
Definition at line 3240 of file class.ux_t3lib_db.php.
References $value, and getMappingKey().
Referenced by exec_INSERTquery(), exec_UPDATEquery(), and sql_fetch_assoc().
| ux_t3lib_DB::map_fieldNamesInArray | ( | $ | table, |
| &$ | fieldArray | ||
| ) | [protected] |
Re-mapping field names in array
| string | (TYPO3) Table name for fields. |
| array | Array of fieldnames to remap. Notice: Passed by reference! |
Definition at line 3679 of file class.ux_t3lib_db.php.
Referenced by map_genericQueryParsed().
| ux_t3lib_DB::map_genericQueryParsed | ( | &$ | parsedQuery | ) | [protected] |
Will do table/field mapping on a general tx_dbal_sqlengine-compliant SQL query (May still not support all query types...)
| array | Parsed QUERY as from tx_dbal_sqlengine::parseSQL(). NOTICE: Passed by reference! |
... and here support for all other query types should be!
Definition at line 3614 of file class.ux_t3lib_db.php.
References map_fieldNamesInArray(), and map_needMapping().
Referenced by admin_query().
| ux_t3lib_DB::map_needMapping | ( | $ | tableList, |
| $ | fieldMappingOnly = FALSE, |
||
| array &$ | parsedTableList = array() |
||
| ) | [protected] |
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. |
| array | Parsed list of tables, should be passed as reference to be reused and prevent double parsing |
Definition at line 3190 of file class.ux_t3lib_db.php.
Referenced by admin_get_fields(), admin_get_keys(), exec_DELETEquery(), exec_INSERTquery(), exec_SELECTquery(), exec_TRUNCATEquery(), exec_UPDATEquery(), map_genericQueryParsed(), prepare_SELECTquery(), and sql_fetch_assoc().
| ux_t3lib_DB::map_remapSELECTQueryParts | ( | $ | select_fields, |
| $ | from_table, | ||
| $ | where_clause, | ||
| $ | groupBy, | ||
| $ | orderBy | ||
| ) | [protected] |
Remaps table/field names in a SELECT query's parts
| mixed | Either parsed list of tables (SQLparser->parseFromTables()) or 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) |
Definition at line 3288 of file class.ux_t3lib_db.php.
References getFreeMappingKey(), getMappingKey(), and map_sqlParts().
Referenced by exec_SELECTquery(), and prepare_SELECTquery().
| ux_t3lib_DB::map_sqlParts | ( | &$ | sqlPartArray, |
| $ | defaultTable | ||
| ) | [protected] |
Generic mapping of table/field names arrays (as parsed by tx_dbal_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 |
Definition at line 3412 of file class.ux_t3lib_db.php.
References getMappingKey(), and map_subquery().
Referenced by exec_DELETEquery(), exec_UPDATEquery(), map_remapSELECTQueryParts(), and map_subquery().
| ux_t3lib_DB::map_subquery | ( | &$ | parsedQuery | ) | [protected] |
Maps table and field names in a subquery.
| array | $parsedQuery |
Definition at line 3574 of file class.ux_t3lib_db.php.
References getFreeMappingKey(), getMappingKey(), and map_sqlParts().
Referenced by map_sqlParts().
| ux_t3lib_DB::mapCachedFieldInfo | ( | $ | fieldInfo | ) | [protected] |
This function builds all definitions for mapped tables and fields
Definition at line 370 of file class.ux_t3lib_db.php.
References $GLOBALS.
Referenced by cacheFieldInfo().
| 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! |
Definition at line 2011 of file class.ux_t3lib_db.php.
References handler_getFromTableList(), and quoteFromTables().
Referenced by admin_get_fields().
| 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) |
Definition at line 2097 of file class.ux_t3lib_db.php.
Referenced by admin_get_fields().
| ux_t3lib_DB::MySQLMetaType | ( | $ | t | ) |
Return MetaType for native MySQL field type
| string | native type as reported as in mysqldump files |
Definition at line 2042 of file class.ux_t3lib_db.php.
Referenced by analyzeFields().
| ux_t3lib_DB::precompileSELECTquery | ( | array $ | components | ) | [protected] |
Precompiles a SELECT prepared SQL statement.
| array | $components |
Definition at line 1473 of file class.ux_t3lib_db.php.
References $query, handler_getFromTableList(), and SELECTquery().
Referenced by prepare_SELECTquery().
| ux_t3lib_DB::prepare_SELECTquery | ( | $ | select_fields, |
| $ | from_table, | ||
| $ | where_clause, | ||
| $ | groupBy = '', |
||
| $ | orderBy = '', |
||
| $ | limit = '', |
||
| array $ | input_parameters = array() |
||
| ) |
Creates a SELECT prepared SQL statement.
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() | |
| string | See exec_SELECTquery() | |
| array | $input_parameters | An array of values with as many elements as there are bound parameters in the SQL statement being executed. All values are treated as t3lib_db_PreparedStatement::PARAM_AUTOTYPE. |
Reimplemented from t3lib_DB.
Definition at line 1316 of file class.ux_t3lib_db.php.
References $value, _quoteFieldNames(), _quoteFromTables(), _quoteGroupBy(), _quoteOrderBy(), _quoteWhereClause(), t3lib_DB\debug(), debugHandler(), t3lib_div\devLog(), tx_dbal_querycache\getCacheKey(), getQueryComponents(), t3lib_div\makeInstance(), map_needMapping(), map_remapSELECTQueryParts(), t3lib_div\milliseconds(), t3lib_db_PreparedStatement\PARAM_AUTOTYPE, precompileSELECTquery(), and runningNative().
| ux_t3lib_DB::quoteFieldNames | ( | $ | select_fields | ) |
Quotes field (and table) names with the quote character suitable for the DB being used
| string | List of fields to be used in query to DB |
Definition at line 1654 of file class.ux_t3lib_db.php.
References _quoteFieldNames(), and runningNative().
Referenced by _quoteFieldNames(), _quoteWhereClause(), INSERTquery(), quoteSelectFields(), SELECTquery(), and UPDATEquery().
| ux_t3lib_DB::quoteFromTables | ( | $ | from_table | ) |
Quotes table names with the quote character suitable for the DB being used
| string | List of tables to be selected from DB |
Definition at line 1715 of file class.ux_t3lib_db.php.
References _quoteFromTables(), and runningNative().
Referenced by DELETEquery(), exec_INSERTquery(), exec_UPDATEquery(), INSERTquery(), MetaType(), SELECTquery(), TRUNCATEquery(), and UPDATEquery().
| ux_t3lib_DB::quoteGroupBy | ( | $ | groupBy | ) | [protected] |
Quotes the field (and table) names within a group by clause with the quote character suitable for the DB being used
| string | A group by clause that can by parsed by parseFieldList |
Definition at line 1863 of file class.ux_t3lib_db.php.
References _quoteGroupBy(), and runningNative().
Referenced by SELECTquery().
| ux_t3lib_DB::quoteName | ( | $ | name, |
| $ | handlerKey = NULL, |
||
| $ | useBackticks = FALSE |
||
| ) |
Quotes an object name (table name, field, ...)
| string | Object's name |
| string | Handler key |
| boolean | If method NameQuote() is not used, whether to use backticks instead of driver-specific quotes |
Definition at line 1993 of file class.ux_t3lib_db.php.
Referenced by _quoteFieldNames(), _quoteFromTables(), _quoteGroupBy(), _quoteOrderBy(), and _quoteWhereClause().
| ux_t3lib_DB::quoteOrderBy | ( | $ | orderBy | ) | [protected] |
Quotes the field (and table) names within an order by clause with the quote character suitable for the DB being used
| string | An order by clause that can by parsed by parseFieldList |
Definition at line 1901 of file class.ux_t3lib_db.php.
References _quoteOrderBy(), and runningNative().
Referenced by SELECTquery().
| ux_t3lib_DB::quoteSelectFields | ( | $ | select_fields | ) |
Quotes field (and table) names with the quote character suitable for the DB being used Use quoteFieldNames instead!
| string | List of fields to be selected from DB |
Definition at line 1642 of file class.ux_t3lib_db.php.
References t3lib_div\logDeprecatedFunction(), and quoteFieldNames().
| ux_t3lib_DB::quoteSELECTsubquery | ( | array $ | components | ) | [protected] |
Quotes components of a SELECT subquery.
| array | $components | Array of SQL query components |
Definition at line 1627 of file class.ux_t3lib_db.php.
References _quoteFieldNames(), _quoteFromTables(), and _quoteWhereClause().
Referenced by _quoteWhereClause().
| 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!). |
Reimplemented from t3lib_DB.
Definition at line 1960 of file class.ux_t3lib_db.php.
References handler_getFromTableList().
Referenced by fullQuoteStr().
| 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 be parsed by parseWhereClause |
Definition at line 1764 of file class.ux_t3lib_db.php.
References _quoteWhereClause(), and runningNative().
Referenced by DELETEquery(), exec_INSERTquery(), exec_UPDATEquery(), SELECTquery(), and UPDATEquery().
| 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(). |
Definition at line 3171 of file class.ux_t3lib_db.php.
Referenced by exec_PREPAREDquery(), getQueryComponents(), SELECTquery(), sql_fetch_assoc(), and sql_fetch_row().
| ux_t3lib_DB::runningNative | ( | ) |
Checks whether the DBAL is currently inside an operation running on the "native" DB handler (i.e. MySQL)
Definition at line 3160 of file class.ux_t3lib_db.php.
Referenced by INSERTquery(), prepare_SELECTquery(), quoteFieldNames(), quoteFromTables(), quoteGroupBy(), quoteOrderBy(), quoteWhereClause(), and UPDATEquery().
| 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() |
Reimplemented from t3lib_DB.
Definition at line 1196 of file class.ux_t3lib_db.php.
References $query, debugOutput, handler_getFromTableList(), t3lib_div\intExplode(), quoteFieldNames(), quoteFromTables(), quoteGroupBy(), quoteOrderBy(), quoteWhereClause(), and runningADOdbDriver().
Referenced by exec_SELECTquery(), precompileSELECTquery(), and SELECTqueryFromArray().
| ux_t3lib_DB::SELECTqueryFromArray | ( | array $ | params | ) | [protected] |
Creates a SELECT SQL-statement to be used with an ADOdb backend.
| array | parsed parameters: array($select_fields, $from_table, $where_clause, $groupBy, $orderBy) |
Definition at line 1231 of file class.ux_t3lib_db.php.
References $query, _quoteFieldNames(), _quoteFromTables(), _quoteGroupBy(), _quoteOrderBy(), _quoteWhereClause(), compileSelectParameters(), debugOutput, and SELECTquery().
Referenced by exec_SELECTquery().
| ux_t3lib_DB::sql | ( | $ | db, |
| $ | query | ||
| ) |
Executes query (on DEFAULT handler!) DEPRECATED - use exec_* functions from this class instead!
| string | Database name |
| string | Query to execute |
Definition at line 2502 of file class.ux_t3lib_db.php.
References $query, t3lib_div\logDeprecatedFunction(), and sql_query().
| ux_t3lib_DB::sql_affected_rows | ( | ) |
Returns the number of rows affected by the last INSERT, UPDATE or DELETE query
Reimplemented from t3lib_DB.
Definition at line 2377 of file class.ux_t3lib_db.php.
Referenced by debugHandler().
| 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. |
Definition at line 2399 of file class.ux_t3lib_db.php.
References $res.
| ux_t3lib_DB::sql_errno | ( | ) |
Returns the error number on the most recent sql() execution (based on $this->lastHandlerKey)
Reimplemented from t3lib_DB.
Definition at line 2170 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::sql_error | ( | ) |
Returns the error status on the most recent sql() execution (based on $this->lastHandlerKey)
Reimplemented from t3lib_DB.
Definition at line 2150 of file class.ux_t3lib_db.php.
Referenced by admin_get_tables(), debugHandler(), exec_DELETEquery(), exec_INSERTquery(), exec_PREPAREDquery(), exec_SELECTquery(), exec_TRUNCATEquery(), exec_UPDATEquery(), and sql_query().
| 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 |
Definition at line 2217 of file class.ux_t3lib_db.php.
References $res, $value, map_assocArray(), map_needMapping(), and runningADOdbDriver().
Referenced by admin_get_tables(), and debug_explain().
| 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 |
Definition at line 2280 of file class.ux_t3lib_db.php.
References $res, $value, and runningADOdbDriver().
| 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 |
Definition at line 2424 of file class.ux_t3lib_db.php.
Referenced by INSERTquery(), and UPDATEquery().
| 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 |
Definition at line 2454 of file class.ux_t3lib_db.php.
References $res, and t3lib_DB\debug().
| ux_t3lib_DB::sql_free_result | ( | &$ | res | ) |
Free result memory / unset result object
| pointer | MySQL result pointer to free / DBAL object |
Definition at line 2326 of file class.ux_t3lib_db.php.
References $res.
| ux_t3lib_DB::sql_insert_id | ( | ) |
Get the ID generated from the previous INSERT operation
Reimplemented from t3lib_DB.
Definition at line 2357 of file class.ux_t3lib_db.php.
Referenced by exec_INSERTquery().
| ux_t3lib_DB::sql_num_rows | ( | &$ | res | ) |
Returns the number of selected rows.
| pointer | Result pointer / DBAL object |
Definition at line 2191 of file class.ux_t3lib_db.php.
References $res.
Referenced by exec_PREPAREDquery(), and exec_SELECTquery().
| 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. |
Reimplemented from t3lib_DB.
Definition at line 2566 of file class.ux_t3lib_db.php.
References handler_init().
| ux_t3lib_DB::sql_query | ( | $ | query | ) |
Executes a query EXPERIMENTAL - This method will make its best to handle the query correctly but if it cannot, it will simply pass the query to DEFAULT handler.
You should use exec_* function from this class instead! If you don't, anything that does not use the _DEFAULT handler will probably break!
This method was deprecated in TYPO3 4.1 but is considered experimental since TYPO3 4.4 as it tries to handle the query correctly anyway.
| string | Query to execute |
Reimplemented from t3lib_DB.
Definition at line 2522 of file class.ux_t3lib_db.php.
References $GLOBALS, $query, t3lib_DB\debug(), exec_query(), t3lib_div\inList(), and sql_error().
Referenced by debug_explain(), and sql().
| ux_t3lib_DB::sql_select_db | ( | $ | TYPO3_db | ) |
Select database for _DEFAULT handler.
| string | Database to connect to. |
Reimplemented from t3lib_DB.
Definition at line 2584 of file class.ux_t3lib_db.php.
Referenced by admin_get_dbs().
| ux_t3lib_DB::TRUNCATEquery | ( | $ | table | ) |
Creates a TRUNCATE TABLE SQL-statement
| string | See exec_TRUNCATEquery() |
Reimplemented from t3lib_DB.
Definition at line 1285 of file class.ux_t3lib_db.php.
References $query, debugOutput, and quoteFromTables().
Referenced by exec_TRUNCATEquery().
| 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() |
Reimplemented from t3lib_DB.
Definition at line 1085 of file class.ux_t3lib_db.php.
References $query, debugOutput, fullQuoteStr(), quoteFieldNames(), quoteFromTables(), quoteWhereClause(), runningNative(), and sql_field_metatype().
Referenced by exec_UPDATEquery().
| ux_t3lib_DB::$cache_autoIncFields = array() |
Definition at line 197 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$cache_fieldType = array() |
Definition at line 198 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$cache_handlerKeyFromTableList = array() |
Definition at line 195 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$cache_mappingFromTableList = array() |
Definition at line 196 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$cache_primaryKeys = array() |
Definition at line 199 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$conf = array() |
Definition at line 166 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$debug = FALSE |
Definition at line 165 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$handlerCfg |
array(
'_DEFAULT' => array(
'type' => 'native',
'config' => array(
'username' => '',
'password' => '',
'host' => '',
'database' => '',
'driver' => '',
'sequenceStart' => 1,
'useNameQuote' => 0
)
),
)
Definition at line 170 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$handlerInstance = array() |
Definition at line 187 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$Installer |
Definition at line 213 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$lastHandlerKey = '' |
Definition at line 188 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$lastParsedAndMappedQueryArray = array() |
Definition at line 190 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$lastQuery = '' |
Definition at line 189 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$mapping = array() |
Definition at line 168 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$printErrors = FALSE |
Definition at line 164 of file class.ux_t3lib_db.php.
ux_t3lib_DB::$queryCache [protected] |
Definition at line 220 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$resourceIdToTableNameMap = array() |
Definition at line 192 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$SQLparser |
Definition at line 206 of file class.ux_t3lib_db.php.
| ux_t3lib_DB::$table2handlerKeys = array() |
Definition at line 169 of file class.ux_t3lib_db.php.
1.7.5.1