|
Verfasst am: 28. 07. 2009 [12:32]
|
|
michael
Michael Hoffmann
Dabei seit: 08.06.2008
Beiträge: 37
|
Das Object $TYPO3_DB ist global als Wrapper (t3lib_DB) instanziiert. Die Ausführung von SQL - Abfragen in Typo3 Extensions sollte komplett darüber erfolgen.
SELECT
t3lib_DB.exec_SELECTquery ($select_fields,$from_table,$where_clause,$groupBy='',$orderBy = '',$limit='')
$select_fields:
Hier stehen die Komma-getrennten Felder der Tabelle (Alternativ Stern für alle Felder).
$from_table:
Der Tabellenname der Typo3 DB
$where_clause:
Optionale Where - Bedingung
$groupBy:
Optionale Group BY Field - Anweisung
$orderBy:
Optionale Order BY Field - Anweisung
$limit:
Optionales Limit der Anzahl Antworten
Bsp: Hier wird der FeUser mit der Email-Adresse $this->piVars['Email'] gesucht.
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery ('*',
'fe_users',
'username =$this->piVars['Email'].'"' );
INSERT
t3lib_DB.exec_INSERTquery($table,$field_values, no_quote_fields=FALSE)
$table:
Name der Tabelle in der Typo3 DB
$field_values:
PHP Array mit den (ausgewählten) Feldnamen der Tabelle und den zugewiesenen Werten
Beispiel:
$feUserRecord = array (
'username' => $this->piVars['Email'],
'password' => md5($this->piVars['Email']),
'pid' => $this->conf['pid'],
'usergroup' => $this->conf['usergroup'],
'name' => $this->piVars['Name'],
'email' => $this->piVars['Email'],
'crdate' => mktime(),
'module_sys_dmail_html' => 1 );
$res = $GLOBALS['TYPO3_DB']->exec_INSERTquery ('fe_users', $feUserRecord);
UPDATE
t3lib_DB.exec_UPDATEquery ($table,$where, $fields_values, $no_Quote_fiels=FALSE)
Beispiel (mit $feUserRecord aus obigem INSERT - Beispiel). Hier wird ein FeUser-Record geändert, und zwar genau dieser auf den die where-Klause username=... zutrifft.
$res = $GLOBALS['TYPO3_DB']->exec_UPDATEquery ('fe_users',
'username = "'.$this->piVars['Email'].'"',
$feUserRecord);
DELETE
t3lib_DB.exec_DELETEquery($table, $where)
Löscht den Datensatz der der where-Klausel entspricht in der Tabelle table.
Beispiel:
$res=GLOBALS['TYPO3_DB']->exec_UPDATEquery('fe_users', 'username = "'.trim($this->piVars['Email'].'"');
Weitere SQL - Funktionen aus dem Typo3 API:
t3lib_DB.searchQuery($searchWords, $fields, $table)
Gibt eine where-Klausel zurück. Die Query wird mit AND aus den Werten in dem Array $searchWords gebaut. Die Query bezieht auf irgendein Feld in der kommaseparierten Liste $fields.
t3lib_DB.sql_num_rows($res)
Gibt die Anzahl der gefunden Datensätze nach einer Query zurück.
t3lib_DB.sql_insert_id()
Gibt die ID des autoincrement - Feldes (überlicherweise uid) des zuletzt eingefügten Datensatzes zurück.
t3lib_DB.sql_fetch_row($res)
Gibt ein Array mit numerischen Index zurück indem sich der Datensatz befindet. Es handel sich um eine Wrapper Funktion für mysql_fetch_row().
t3lib_DB.sql_fetch_assoc($res)
Anlog zu t3lib_DB.sql_fetch_row handelt es sich hier um eine Wrapper Funktion für mysql_fetch_assoc().
t3lib_DB.sql_affected_rows()
Auch hier handelt es sich um eine Wrapper - Fuktion für mysql_affected_rows().
t3lib_DB.admin_get_tables()
Gibt ein Array der Tabellen der Typo3 DB zurück. Der Tabellenname ist der Schlüssel des Arrays und die Statusinformationen die dazugehörigen Werte.
t3lib_DB.admin_get_keys($table)
Gibt ein numerisches Array mit den Schlüsseln der Tabelle zurück.
t3lib_DB.admin_get_fields($table)
Gibt ein assoziatives Array (Feldname => Spalte) zurück.
|