Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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 两个不同数据库之间的连接_Php_Database Connection - Fatal编程技术网

Php 两个不同数据库之间的连接

Php 两个不同数据库之间的连接,php,database-connection,Php,Database Connection,我在不同的服务器上有两种数据库。下面的脚本用于建立数据库连接: //DB 1 define("DBNAME","xx.xxx.xx.xxx:D:\DATABASE\OCS DATA.FDB"); define("DBUSER","USER"); define("DBPASS","USER"); $dbh = ibase_connect(DBNAME,DBUSER,DBPASS) or die(_ERROR15.": ".ibase_errmsg()); //DB 2 $dbc=mysql

我在不同的服务器上有两种数据库。下面的脚本用于建立数据库连接:

//DB 1
define("DBNAME","xx.xxx.xx.xxx:D:\DATABASE\OCS DATA.FDB"); 
define("DBUSER","USER"); 
define("DBPASS","USER"); 
$dbh = ibase_connect(DBNAME,DBUSER,DBPASS) or die(_ERROR15.": ".ibase_errmsg());

//DB 2
$dbc=mysql_connect(_SRV, _ACCID, _PWD) or die(_ERROR15.": ".mysql_error());
mysql_select_db("qdbase") or die(_ERROR17.": ".mysql_error());
除此之外,我还有一些关于将数据插入另一个数据库的查询:

//if structure of the both tables are same then...
$sql = "insert into database1.member select * from database2.member";

//if structure of both tables are not same then
$sql = "Insert into database1.member select columnname1,columnname2 ".
       "from database2.member";
此查询是否可用于上述具有两种不同类型DB的条件?如果是这样的话,必须更改哪一部分



您的数据库系统可能支持“dblink”功能


如果可用,您可以将mysql链接到Firebird,反之亦然,并从其中一个运行脚本。

使用dblink,您可以在远程数据库上工作,就像在当前数据库上一样。这在甲骨文中尤其有效。Mysql不支持它。不知道Firefox是否有。你可以使用像Zend_Db这样的数据库抽象层,它是Firefox的一部分。
while ($ibase_row = ibase_fetch_assoc($rResult)){
  $ins = array();
  foreach ($ibase_row as $col => $val){
    $ins[$col] = mysql_real_escape_string($val);
  }

  $mysql_insert = "INSERT INTO qdbase.table SET ".implode(',', $ins);
  $res = mysql_query($mysql_insert, $dbc) or die();
}