我有一个简单的PHP/MySql应用程序,它通常会选择几个数据库中的一个(让我们说每个客户)来操作。但是,频繁地调用访问公共数据库的效用函数。Push/pop当前数据库
我不想在我的代码洒USE
条款,所以它看起来像我应该在每一个效用函数开始推动当前数据库,并在结束时再次弹出它。像这样的事情(从我的头顶开始,如此大胆地行不通,但会给出一个想法)。
function ConnectToDatabase($db)
{
global $current_database;
$current_database = $db;
odb_exec('USE ' . $db); // etc. Error handling omitted for clarity
}
function UtilityFunction()
{
odb_exec('USE common_db'); // etc. Error handling omitted for clarity
// do some work here
global $current_database;
ConnectToDatabase($current_database);
}
也许我可以让它更漂亮结合global $current_database; ConnectToDatabase($current_database);
为PopCurrentDb
功能,但你得到的图片。
这是更好地在PHP中完成?有没有MySql解决方案(但后来我想要符合ODBC,所以也许PHP更好)。别人怎么做?
更新:到底我决定总是完全有资格获得,
例如SELECT * from $database . '.' . $table
您可以打开两个数据库连接,你知道吗? :) – deceze 2011-05-08 00:12:33
mysql_select_db选择数据库我猜 – Ibu 2011-05-08 00:14:07
+1是的,我想打开第二个连接是一种选择。只保留一个很简单,它不是一个非常复杂的程序。 – Mawg 2011-05-08 00:26:39