我有一個簡單的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