Added feature #11916: New TYPO3_DB method for queries that expect just a single resul...
authorErnesto Baschny <ernst@cron-it.de>
Wed, 17 Nov 2010 14:00:31 +0000 (14:00 +0000)
committerErnesto Baschny <ernst@cron-it.de>
Wed, 17 Nov 2010 14:00:31 +0000 (14:00 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@9454 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_db.php

index be05efe..f8235d8 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -26,6 +26,7 @@
        * Added feature #16437: Introduce a form protection API (Thanks to the Security Team: Oliver Klee, Helmut Hummel)
        * Added feature #16439: Use the form protection API to implement the CSRF protection in user setup and install tool (Thanks to the Security Team: Oliver Klee, Helmut Hummel)
        * Added feature #11103: Improve advanced_htaccess and make it more compatible (Thanks to Christopher Stelmaszyk)
+       * Added feature #11916: New TYPO3_DB method for queries that expect just a single result row: exec_SELECTgetSingleRow (Thanks to Jo Hasenau)
 
 2010-11-17  Benjamin Mack  <benni@typo3.org>
 
index 8f63aff..3502cb4 100644 (file)
@@ -365,6 +365,36 @@ class t3lib_DB {
        }
 
        /**
+        * Creates and executes a SELECT SQL-statement AND gets a result set and returns an array with a single record in.
+        * LIMIT is automatically set to 1 and can not be overridden.
+        *
+        * @param string $select_fields: List of fields to select from the table.
+        * @param string $from_table: Table(s) from which to select.
+        * @param string $where_clause: Optional additional WHERE clauses put in the end of the query. NOTICE: You must escape values in this argument with $this->fullQuoteStr() yourself!
+        * @param string $groupBy: Optional GROUP BY field(s), if none, supply blank string.
+        * @param string $orderBy: Optional ORDER BY field(s), if none, supply blank string.
+        * @param boolean $numIndex: If set, the result will be fetched with sql_fetch_row, otherwise sql_fetch_assoc will be used.
+        * @return array Single row or NULL if it fails.
+        */
+       public function exec_SELECTgetSingleRow($select_fields, $from_table, $where_clause, $groupBy = '', $orderBy = '', $numIndex = FALSE) {
+               $res = $this->exec_SELECTquery($select_fields, $from_table, $where_clause, $groupBy, $orderBy, '1');
+               if ($this->debugOutput) {
+                       $this->debug('exec_SELECTquery');
+               }
+
+               $output = NULL;
+               if ($res) {
+                       if ($numIndex) {
+                               $output = $this->sql_fetch_row($res);
+                       } else {
+                               $output = $this->sql_fetch_assoc($res);
+                       }
+                       $this->sql_free_result($res);
+               }
+               return $output;
+       }
+
+       /**
         * Counts the number of rows in a table.
         *
         * @param       string          $field: Name of the field to use in the COUNT() expression (e.g. '*')