[TYPO3-dev] Stupid Stupid Stupid
Franz Holzinger
franz at fholzinger.com
Tue Jun 24 09:49:38 CEST 2008
Hello Fr. Simon,
> I freely admit to you all that I've not been good at coding extensions
> using the API, and this really basic and stupid question hopefully will mark
> a turn in that:
>
> Previously, to extract data into an array, I would have written:
>
> $sql="SELECT * FROM ".$data["database"]." WHERE
> uid=".$data["drpRecordSelect"];
> $newdata = $this->get_data($sql); // this is a function which queries
> and returns the array
>
> and I know I should use exec_SELECTquery, so
>
> global $TYPO3_DB;
>
> $newdata=$TYPO3_DB->exec_SELECTquery('*', $data["database"],
> 'uid='.$data["drpRecordSelect"], '', '', '');
>
> so why isn't it returning anything? Am I not referencing the database object
> right (should it be $GLOBALS["TYPO3_DB"]) or is there something else
> fundamental in that.
See file t3lib/class.t3lib_db.php line 229 (TYPO3 4.2.1):
...
* @return pointer MySQL result pointer / DBAL object
*/
function
exec_SELECTquery($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='')
{
So you should have written instead
$res=$TYPO3_DB->exec_SELECTquery('*',
data["database"],'uid='.intval($data["drpRecordSelect"]));
$newdata = $TYPO3_DB->sql_fetch_assoc($res);
$TYPO3_DB->sql_free_result($res);
Database is not a good key name for a database table array.
- Franz
More information about the TYPO3-dev
mailing list