MySQL Funktionsbeispiele

Arbeiten mit MySQL in einer TYPO3 Extension

Wer in einer eigenen TYPO3 Extension mit der Datenbank MySQL arbeitet, sollte möglichst die TYPO3 internen Funktionen benutzen.

Grundsätzich die wichtigsten:
SELECT
INSERT
UPDATE
DROP

$res=$GLOBALS['TYPO3_DB']->exec_SELECTquery(
             '*',   #select
             'fe_users', #from
             'deleted=0',  #where
             $groupBy='',
             $orderBy='',
             $limit='');
       
while( $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
             $mitarbeiterauswahl.='<option>'.$row['username'].'</option>';
             }
Ein SELECT Beispiel
$tabellenname='DerNamedeinerTabelle';

$res=$GLOBALS['TYPO3_DB']->exec_SELECTquery(
                      '*',#select
                      $tabellenname, #from
                      'deleted=0',  #where
                      $groupBy='',
                      $orderBy='',
                      $limit='');

$content="<table><tr>";
 while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
     $content.= '<td>'.$row['vorname'].'</td><td>'.$row['nachname'].'</td>';
     }
$content.="</tr></table>";

return $this->pi_wrapInBaseClass($content);
und noch ein SELECT Beispiel
$pid = $GLOBALS["TSFE"]->id;
$fieldList = "field1,field2,field3";
$dataArr = array();
$dataArr["field1"] = "value1";
$dataArr["field2"] = "value2";
$dataArr["field3"] = "value3";

$query = $this->cObj->DBgetInsert("tx_ext_name_tablename", $pid, $dataArr, $fieldList);
mysql(TYPO3_db, $query);
if (mysql_error()) debug(array(mysql_error(), $query));
Ein INSERT Beispiel
$tabellenname='DerNamedeinerTabelle';
$updateArray = array("vorname" => t3lib_div::_GP('vorname'), 
                                 "nachname" =>t3lib_div::_GP('nachname'));
$where="uid='".t3lib_div::GPVar("auid")."'";

$query  = $GLOBALS['TYPO3_DB']->exec_UPDATEquery($tabellenname,$where, $updateArray);
Ein UPDATE Beispiel
$tabelle="tx_ext_name_main"; 
$where="id ='$model_id'"; 
$array=array('hobbys'=>$hobbys, 'job'=>$job, 'groesse'=>$groesse, 'club'=>$club); 
$GLOBALS['TYPO3_DB']->exec_UPDATEquery($tabelle, $where, $array); 
und noch ein UPDATE Beispiel