建立临时数据库连接而不会丢失原始默认连接

时间:2011-04-13 16:47:12

标签: php mysql

我有一个非常庞大且非结构化的脚本。

在脚本中的某个时刻,建立了数据库连接。

在那之后的某个时间我需要与另一个数据库建立新连接,运行查询然后断开连接。

完成此操作后,我需要所有后续的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()就不会默认为原始连接;它继续尝试使用最新的,已关闭的连接。

1 个答案:

答案 0 :(得分:1)

mysql_connect()返回对连接的引用,然后您可以在其他语句上提供该引用以指示要使用的连接。我相信您还必须指定new_link参数来创建新连接。