[TYPO3-dev] External DB connection inside an extension ?
Stephane
stephane.lists at gmail.com
Thu Jul 10 17:07:32 CEST 2008
Hi Typo'Gurus
I nedd your help. I have a question about external db connection inside
typo3 extension.
I'm writing an extension who needs to get data from another db (I know,
accessing directly to external db is not the best way, but it's the more
efficient approach (for speed) than I found after testing SOAP (SOAP is
very very very slow) and Co).
Then, in my extension, I open a new connection to my external db via
mysql_connect command. I'm able to get all necessaries datas with
queries ... no problem .. until here.
The problem come just after. After this mysql_query on external db, I
don't know why but I lost the connection to Typo3 db :(.
$GLOBALS['TYPO3_DB']->sql_num_rows return always return 0 (records exist
of course), until I call back $GLOBALS['TYPO3_DB']->connectDB().
After this call I could again access to Typo3 db.
Sample code / algo :
$mylink = mysql_pconnect($server, $username, $password);
$mydb = mysql_select_db($dbname, $mylink);
...
$result = mysql_query($myquery, $mylink);
[ ok I'm able to get external records ]
...
$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', $this->table,
$whereClause);
[always = 0 :( ]
...
$GLOBALS['TYPO3_DB']->connectDB();
[now it's ok again, I could access to Typo3 db (normal I create a new
link ressource) ... :s ]
I have try to use also "datasources" and "adob" approach (as done in
rlmp_extdbauth for example) instead of "direct php approach", but with
the same result :(. I try also pconnect or not, using
t3lib_DB::sql_pconnect functions ... a lot of test but without better
results ... Typo3 seems to use current active database, and not the
$link information
I'm using Typo3 4.2.1 and develop a service extension ...
What is wrong in my approach ? It's a Typo3 know issue (with a solution
;)) or a problem on my php/mysql configuration ?
Thanks a lot for your help (and sorry for my english)
BR
Stef
More information about the TYPO3-dev
mailing list