[BUGFIX] Autoloader Cache is not updated
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_db.php
index 62c0e4f..3d614e4 100644 (file)
  *
  * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
  */
-/**
- * [CLASS/FUNCTION INDEX of SCRIPT]
- *
- *
- *
- *  138: class t3lib_DB
- *
- *                       SECTION: Query execution
- *  175:        function exec_INSERTquery($table,$fields_values,$no_quote_fields=FALSE)
- *  192:        function exec_UPDATEquery($table,$where,$fields_values,$no_quote_fields=FALSE)
- *  206:        function exec_DELETEquery($table,$where)
- *  225:        function exec_SELECTquery($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='')
- *  250:        function exec_SELECT_mm_query($select,$local_table,$mm_table,$foreign_table,$whereClause='',$groupBy='',$orderBy='',$limit='')
- *  278:        function exec_SELECT_queryArray($queryParts)
- *  301:        function exec_SELECTgetRows($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='',$uidIndexField='')
- *
- *                       SECTION: Query building
- *  346:        function INSERTquery($table,$fields_values,$no_quote_fields=FALSE)
- *  381:        function UPDATEquery($table,$where,$fields_values,$no_quote_fields=FALSE)
- *  422:        function DELETEquery($table,$where)
- *  451:        function SELECTquery($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='')
- *  492:        function listQuery($field, $value, $table)
- *  506:        function searchQuery($searchWords,$fields,$table)
- *
- *                       SECTION: Various helper functions
- *  552:        function fullQuoteStr($str, $table)
- *  569:        function fullQuoteArray($arr, $table, $noQuote=FALSE)
- *  596:        function quoteStr($str, $table)
- *  612:        function escapeStrForLike($str, $table)
- *  625:        function cleanIntArray($arr)
- *  641:        function cleanIntList($list)
- *  655:        function stripOrderBy($str)
- *  669:        function stripGroupBy($str)
- *  681:        function splitGroupOrderLimit($str)
- *
- *                       SECTION: MySQL wrapper functions
- *  749:        function sql($db,$query)
- *  763:        function sql_query($query)
- *  776:        function sql_error()
- *  788:        function sql_num_rows($res)
- *  800:        function sql_fetch_assoc($res)
- *  813:        function sql_fetch_row($res)
- *  825:        function sql_free_result($res)
- *  836:        function sql_insert_id()
- *  847:        function sql_affected_rows()
- *  860:        function sql_data_seek($res,$seek)
- *  873:        function sql_field_type($res,$pointer)
- *  887:        function sql_pconnect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password)
- *  915:        function sql_select_db($TYPO3_db)
- *
- *                       SECTION: SQL admin functions
- *  947:        function admin_get_dbs()
- *  965:        function admin_get_tables()
- *  984:        function admin_get_fields($tableName)
- * 1002:        function admin_get_keys($tableName)
- * 1020:        function admin_query($query)
- *
- *                       SECTION: Connecting service
- * 1048:        function connectDB()
- *
- *                       SECTION: Debugging
- * 1086:        function debug($func)
- *
- * TOTAL FUNCTIONS: 42
- * (This index is automatically created/updated by the extension "extdeveval")
- *
- */
 
 
 /**
@@ -410,7 +343,7 @@ class t3lib_DB {
         * @param       string          $field: Name of the field to use in the COUNT() expression (e.g. '*')
         * @param       string          $table: Name of the table to count rows for
         * @param       string          $where: (optional) WHERE statement of the query
-        * @return      mixed           Number of rows counter (integer) or false if something went wrong (boolean)
+        * @return      mixed           Number of rows counter (integer) or FALSE if something went wrong (boolean)
         */
        public function exec_SELECTcountRows($field, $table, $where = '') {
                $count = FALSE;
@@ -453,7 +386,7 @@ class t3lib_DB {
         * @param       string          See exec_INSERTquery()
         * @param       array           See exec_INSERTquery()
         * @param       string/array            See fullQuoteArray()
-        * @return      string          Full SQL query for INSERT (unless $fields_values does not contain any elements in which case it will be false)
+        * @return      string          Full SQL query for INSERT (unless $fields_values does not contain any elements in which case it will be FALSE)
         */
        function INSERTquery($table, $fields_values, $no_quote_fields = FALSE) {
 
@@ -487,7 +420,7 @@ class t3lib_DB {
         * @param       array           Field names
         * @param       array           Table rows. Each row should be an array with field values mapping to $fields
         * @param       string/array            See fullQuoteArray()
-        * @return      string          Full SQL query for INSERT (unless $rows does not contain any elements in which case it will be false)
+        * @return      string          Full SQL query for INSERT (unless $rows does not contain any elements in which case it will be FALSE)
         */
        public function INSERTmultipleRows($table, array $fields, array $rows, $no_quote_fields = FALSE) {
                        // Table and fieldnames should be "SQL-injection-safe" when supplied to this
@@ -1163,7 +1096,7 @@ class t3lib_DB {
                $isLocalhost = ($TYPO3_db_host == 'localhost' || $TYPO3_db_host == '127.0.0.1');
                if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['no_pconnect']) {
                        if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['dbClientCompress'] && !$isLocalhost) {
-                                       // We use PHP's default value for 4th parameter (new_link), which is false.
+                                       // We use PHP's default value for 4th parameter (new_link), which is FALSE.
                                        // See PHP sources, for example: file php-5.2.5/ext/mysql/php_mysql.c,
                                        // function php_mysql_do_connect(), near line 525
                                $this->link = @mysql_connect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password, FALSE, MYSQL_CLIENT_COMPRESS);
@@ -1406,13 +1339,17 @@ class t3lib_DB {
         * @return      void
         */
        function connectDB($host = TYPO3_db_host, $user = TYPO3_db_username, $password = TYPO3_db_password, $db = TYPO3_db) {
+                       // If no db is given we throw immediately. This is a sign for a fresh (not configured)
+                       // TYPO3 installation and is used in FE to redirect to 1-2-3 install tool
+               if (!$db) {
+                       throw new RuntimeException(
+                               'TYPO3 Fatal Error: No database selected!',
+                               1270853882
+                       );
+               }
+
                if ($this->sql_pconnect($host, $user, $password)) {
-                       if (!$db) {
-                               throw new RuntimeException(
-                                       'TYPO3 Fatal Error: No database selected!',
-                                       1270853882
-                               );
-                       } elseif (!$this->sql_select_db($db)) {
+                       if (!$this->sql_select_db($db)) {
                                throw new RuntimeException(
                                        'TYPO3 Fatal Error: Cannot connect to the current database, "' . $db . '"!',
                                        1270853883
@@ -1489,7 +1426,7 @@ class t3lib_DB {
         * Checks if recordset is valid and writes debugging inormation into devLog if not.
         *
         * @param       resource        $res    Recordset
-        * @return      boolean <code>false</code> if recordset is not valid
+        * @return      boolean <code>FALSE</code> if recordset is not valid
         */
        function debug_check_recordset($res) {
                if (!$res) {
@@ -1535,7 +1472,7 @@ class t3lib_DB {
         * @param       string          SQL query
         * @param       string          Table(s) from which to select. This is what comes right after "FROM ...". Required value.
         * @param       integer         Number of resulting rows
-        * @return      boolean         TRUE if explain was run, false otherwise
+        * @return      boolean         TRUE if explain was run, FALSE otherwise
         */
        protected function explain($query, $from_table, $row_count) {