Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中处理两个mysql连接_Php_Mysql_Database Connection - Fatal编程技术网

在PHP中处理两个mysql连接

在PHP中处理两个mysql连接,php,mysql,database-connection,Php,Mysql,Database Connection,对于一个项目,我需要打开一个Mysql连接,关闭它,然后让旧的遗留代码运行。遗留代码有自己的连接,只需调用mysql_query($sql),而不需要资源参数 我该怎么办?我可以将Mysql连接设置为全局连接吗?我必须重新执行mysql\u connect()语句吗?遗留代码现在无法重构 这里有一个简短的演示 <?php function show() { $a = mysql_fetch_array(mysql_query('select database()'));

对于一个项目,我需要打开一个Mysql连接,关闭它,然后让旧的遗留代码运行。遗留代码有自己的连接,只需调用mysql_query($sql),而不需要资源参数

我该怎么办?我可以将Mysql连接设置为全局连接吗?我必须重新执行mysql\u connect()语句吗?遗留代码现在无法重构

这里有一个简短的演示

<?php

function show()
{
    $a = mysql_fetch_array(mysql_query('select database()'));
    echo $a[0] . "<br>";
}

$conn = mysql_connect('localhost', 'root', '', TRUE);
mysql_select_db('dredd');
show();

mysql_connect('localhost', 'root', '', TRUE);
mysql_select_db('afup');
show();
mysql_close();

$a = mysql_fetch_array(mysql_query('select database()', $conn));
echo $a[0] . "<br>";

show();

如果您不指定连接,它将使用上次创建的连接,因此如果您先关闭另一个连接(例如

//open your db connection
$conn1 = mysql_connect();
mysql_query($sql, $conn1);
mysql_close($conn1);

//open legacy code's db connection
$conn = mysql_connect();
//run legacy code

如果您遇到问题,那么在第二个连接中使用PDO或mysqli可能会更容易,因为这样您就知道它们在不修改旧代码的情况下是完全分开的。

如果您不指定连接,它将使用上次创建的连接,因此如果您先关闭另一个连接,例如

//open your db connection
$conn1 = mysql_connect();
mysql_query($sql, $conn1);
mysql_close($conn1);

//open legacy code's db connection
$conn = mysql_connect();
//run legacy code

如果您遇到问题,在第二个连接中使用PDO或mysqli可能会更容易,因为这样您就知道它们在不修改旧代码的情况下是完全分开的。

我的db连接是用于错误跟踪系统的,因此旧代码会被中断,我的代码会运行,旧代码会继续。但是你的想法很好,谢谢!我会尽快尝试。我的db连接是为了一个错误捕获系统,所以旧代码会被中断,我的代码会运行,旧代码会继续。但是你的想法很好,谢谢!我尽快试试。