[TYPO3] problem with sql query
Daniel Pötzinger
operation-lan at gmx.de
Sun Feb 12 14:42:00 CET 2006
Ries van Twisk wrote:
> Daniel Pötzinger wrote:
>
>> stem wrote:
>>
>>
>>> hello,
>>>
>>> i'm sure it is a stupid thing, however it drives me crazy.
>>>
>>> i have the following sql query in my t3-extension:
>>> $query = 'SELECT storage_pid FROM pages WHERE uid =
>>> '.$GLOBALS['TSFE']->id;
>>> $storagePid = mysql(TYPO3_db, $query);
>>>
>>> therewith i would like to receive the storage pid of the page, where
>>> my extension is used in order to save the form entries in the
>>> corresponding sys_folder.
>>>
>>>
>>
>> Hello
>>
>> 1)
>> It would be better to use the DBAL (see t3lib/class.t3lib_db.php)
>> e.g.
>> $res=$GLOBALS['TYPO3_DB']->exec_SELECTquery(...)
>> $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)
>>
>> 2.) There is no need for this select, T3 FE did already select these
>> values:
>> Array:
>> $GLOBALS['TSFE']->page
>> ders.de/cgi-bin/mailman/listinfo/typo3-english
>>
>>
> Yes... NEVER EVER EVER NEVER EVER use direct mysql calls :) better use
> DBAL.
>
> However the above is also the wrong way to get the storage PID.
>
> $pids = $GLOBALS["TSFE"]->*getStorageSiterootPids*()
>
>
You are right using available function is always better than accessing
variables. (cause of later changes and maintainability..)
But however:
I just depends on what you want. This function traverses the rootline
and returns the first found storage pid and siteroot.
It maybe not the expected result if I only want the storagepid from the
curent site. (and maybe want to use $GLOBALS['TSFE']->id if no storage
pid is set for the current site.)
Greetings
More information about the TYPO3-english
mailing list