[TYPO3-core] using t3lib_db for non-TYPO3 databases on the same host
Bernhard Kraft
kraftb at kraftb.at
Thu Jul 6 15:39:37 CEST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Martin Kutschker wrote:
> Hi!
>
> Currently it is not possible to connect to the same db host but use another db.
>
> Why? typo3_db uses mysql_[p]connect() using the connection pool. So any
> connect to the same server will get the same handle. Any further
> select_db() will affect the main handle of $TYPO3_DB.
I didn't have any problems with the following code:
- ------------
$GLOBALS[$name] = t3lib_div::makeInstance('t3lib_DB');
$this->connectToDB($name, $props['hostname'], $props['username'], $props['password'], $props['database']);
- -------------
function connectToDB($name, $host, $user, $pass, $db) {
if ($GLOBALS[$name]->sql_pconnect($host, $user, $pass)) {
if (!$db) {
return false;
} elseif (!$GLOBALS[$name]->sql_select_db($db)) {
return false;
}
return true;
} else {
if (!$db) {
return false;
}
return false;
}
}
- --------------
It worked out of the box to synchronize 2 databases using $GLOBALS['TYPO3_DB'] and $GLOBALS['MY_DB']
both were connected to different databases (sql_select_db) but on the same server .... i don't know how it acts
if both databases are on a different server.
As I would "interpret" the "persistent" of pconnect I would say that it only reopens the connnetion if you specified
the same host/database combination. I think once I tried to connect to the same database as two different users and
AFAIR this failed ... so if you choose different hosts/databases it will also work using sql_pconnect.
At least that's the experience I had.
greets,
Bernhard
- --
- ----------------------------------------------------------------------
"Freiheit ist immer auch die Freiheit des Andersdenkenden"
Rosa Luxemburg, 1871 - 1919
- ----------------------------------------------------------------------
[[ http://think-open.at | Open source company ]]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFErRKZIl4dkVkDMFkRAiL2AKCjg6XBgGfWHPNjVyXs5xHB771DLgCbBNqk
wMvVPI7r1e2cON1LqDwigFI=
=wy4P
-----END PGP SIGNATURE-----
More information about the TYPO3-team-core
mailing list