Php 在一个类中使用多个mysql连接
我正在编写一个cronjob,它将从一个表中传输数据,对其进行处理,然后将其应用于web应用程序。我有两个独立的数据库连接。目前,连接凭据是相同的,只是它的数据库不同,但在运行时,它将完全分开 问题是我正在创建一个连接,然后在类中将其分配给$this->staging,另一个称为$this->production。我使用mysql_ping来确保两个连接都正常工作 当它执行查询时,似乎会忽略连接标识符($this->staging示例),并尝试对创建的2个连接中的最后一个进行查询 我在查询中使用连接标识符:Php 在一个类中使用多个mysql连接,php,mysql,Php,Mysql,我正在编写一个cronjob,它将从一个表中传输数据,对其进行处理,然后将其应用于web应用程序。我有两个独立的数据库连接。目前,连接凭据是相同的,只是它的数据库不同,但在运行时,它将完全分开 问题是我正在创建一个连接,然后在类中将其分配给$this->staging,另一个称为$this->production。我使用mysql_ping来确保两个连接都正常工作 当它执行查询时,似乎会忽略连接标识符($this->staging示例),并尝试对创建的2个连接中的最后一个进行查询 我在查询中使用
// Connection:
$this->staging = $this->mysql($config['staging']);
$this->production = $this->mysql($config['production']);
$sql = "SELECT * FROM TABLE";
$query = mysql_query($sql,$this->staging);
// Returns an unknown table in database defined in $this->production.
我返回mysql\u connect作为$this->mysql()方法,而不是mysql\u select\u db()。如果我尝试返回mysql\u select\u db()mysql\u ping,则无法运行
下面是mysql()方法:
问题的发生是因为您连接到同一个MySql服务器,当您连接到登台(第二个连接)时,PHP返回为生产创建的相同连接,而不创建新连接,要强制PHP创建新连接,您应该将“MySql\u connect”调用更改为如下所示:
$connect = mysql_connect($cred['server'],$cred['username'],$cred['password'], true);
这将强制PHP启动新连接
Ref:问题的发生是因为您连接到同一个MySql服务器,当您连接到暂存(第二个连接)时,PHP返回为生产创建的相同连接,而不创建新连接,要强制PHP创建新连接,您应该将“MySql\u connect”调用更改为如下:
$connect = mysql_connect($cred['server'],$cred['username'],$cred['password'], true);
这将强制PHP启动新连接
Ref:您的mysql(..)函数是什么样子的?它是否在正确的连接上使用mysql_select_db?可能的重复请参见上面的重复,并记住将'true'设置为第二个
mysql_connect
语句的第四个参数。顺便说一句:您应该切换到PDO或mysqli_*函数(请参见:)您的mysql(..)函数看起来如何?它是否在正确的连接上使用mysql_select_db?可能的重复请参见上面的重复,并记住将'true'设置为第二个mysql_connect
语句的第四个参数。顺便说一句:您应该切换到PDO或mysqli_*函数(请参见:)