我有一个非常庞大且非结构化的脚本。
在脚本中的某个时刻,建立了数据库连接。
在那之后的某个时间我需要与另一个数据库建立新连接,运行查询然后断开连接。
完成此操作后,我需要所有后续的mysql_query()调用才能使用原始数据库链接。
我知道我可以从第一个mysql_connect()中捕获链接标识符,并在所有相关的mysql_query()调用中使用它,但我不想再修改任何代码了。我想做这样的事情:
//... loads of code ...
mysql_connect("original connection");
mysql_query(...); // don't want to modify these lines
//... loads more code ...
$link = get_current_mysql_link_identifier(); // imaginary function
$new_link = mysql_connect("my new connection");
mysql_query(...); // uses new connection
mysql_close($new_link);
reinstate_old_link($link); // imaginary function
//... loads more code ...
mysql_query(...) // line remains unchanged. uses original DB link
没有那些虚构函数,一旦第二个连接关闭,mysql_query()就不会默认为原始连接;它继续尝试使用最新的,已关闭的连接。