【发布时间】:2016-09-18 21:28:16
【问题描述】:
我想连接到两个数据库。
第一个是旧数据库。
第二个是新数据库。
我必须将数据从旧数据库传输到新数据库,首先我想知道如何使用 PDO 在 php 中正确编写数据库连接
下面这段代码是我目前得到的
error_reporting(E_ALL);
$olddb = array (
'host' => 'localhost',
'dbname' => 'old',
'user' => 'root',
'pass' => ''
);
try
{
$olddb = new PDO('mysql:host='.$olddb['host'].';dbname='.$olddb['dbname'], $olddb['user'], $olddb['pass']);
$olddb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$olddb->query("SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'");
}
catch(PDOException $e)
{
$errormessage = '<p>
Regelnummer: '.$e->getLine().'<br />
Bestand: '.$e->getFile().'<br />
Foutmelding: '.$e->getMessage().'
</p>';
trigger_error($errormessage);
}
$newdb = array (
'host' => 'localhost',
'dbname' => 'new',
'user' => 'root',
'pass' => ''
);
try
{
$newdb = new PDO('mysql:host='.$newdb['host'].';dbname='.$newdb['dbname'], $newdb['user'], $newdb['pass']);
$newdb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$newdb->query("SET SESSION sql_mode = 'ANSI,ONLY_FULL_GROUP_BY'");
}
catch(PDOException $e)
{
$errormessage = '<p>
Regelnummer: '.$e->getLine().'<br />
Bestand: '.$e->getFile().'<br />
Foutmelding: '.$e->getMessage().'
</p>';
trigger_error($errormessage);
}
【问题讨论】:
-
两个数据库是否在同一台服务器上?
-
不清楚你在问什么问题。请修改您的问题以明确您正在寻找什么类型的答案。当您运行您提供的代码时会发生什么?