PHP ezSQL和两个到不同主机的连接

PHP ezSQL和两个到不同主机的连接,php,ezsql,Php,Ezsql,我正在尝试在不同的数据库之间复制一些数据。为了进行测试,我只在localhost上使用了两个数据库,一切都很好,但一旦我尝试建立到两个不同主机的连接,它就不再工作了。 我的代码如下所示: $sourceDb = new ezSQL_mysql($settings['dbuser'], $settings['dbpass'], $settings['dbname'], $settings['dbhost']); $targetDb = new ezSQL_mysql($settings['syn

我正在尝试在不同的数据库之间复制一些数据。为了进行测试,我只在localhost上使用了两个数据库,一切都很好,但一旦我尝试建立到两个不同主机的连接,它就不再工作了。 我的代码如下所示:

$sourceDb = new ezSQL_mysql($settings['dbuser'], $settings['dbpass'], $settings['dbname'], $settings['dbhost']);

$targetDb = new ezSQL_mysql($settings['syncdbuser'], $settings['syncdbpass'], $settings['syncdbname'], $settings['syncdbhost']);
错误信息如下:

Warning: Error establishing mySQL database connection.
Correct user/password? Correct hostname?
Database server running? in ez_sql_mysql.php on line 89
PHP Warning:  mySQL database connection is not active
 in ez_sql_mysql.php on line 121
是否有任何问题我不知道,这会阻止两个连接到不同的主机


顺便说一句,连接信息100%正确。。如果我只使用一个连接,一切都不会有任何问题

我仍然不知道为什么会出现这个错误。切换到PDO并且没有问题。

此解决方案适用于3.08版本

该问题是由连接功能引起的。函数从constract获取数据库名称。若变量是第一次确定的,它将在第二次或更长时间内不起作用

财政上;请打开/lib文件夹

  • 根据您的数据库选择文件(etc.ez_sql_mysqli.php)

  • 查找函数连接(

  • 改变它 公共函数连接($dbuser='',$dbpassword='',$dbhost='localhost',$charset='') 到 公共函数连接($dbuser='',$dbpassword='',$dbhost='localhost',$charset='',$dbname=''

  • 在函数(connect)中查找$this->_dbname。将其更改为$dbname。 (您可以将“if($dbname==”“){$dbname=$this->\u dbname;}”放在$dbname之前)

  • 在课堂内寻找快速连接; 更改$this->connect($dbuser、$dbpassword、$dbhost,true) 到$this->connect($dbuser、$dbpassword、$dbhost、true、$dname

  • 它会起作用的