php复制一个数据库的指定内容到另一个数据库

首先要建一个新PHP页,我这里起名test.php,

test.php

header('Content-type:text/html;charset=utf-8');


//数据库连接
date_default_timezone_set('Asia/Shanghai');

$dbms='mysql';     //数据库类型
$host='127.0.0.1'; //数据库主机名
$dbName='hzp_install';    //使用的数据库
$user='root';      //数据库连接用户名
$pass='root';          //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";

try {
    $dbh = new PDO($dsn, $user, $pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';")); //初始化一个PDO对象
//PDO是连接数据库的方法,其内依次放置 ,用户名,密码,展现格式
} catch (PDOException $e) {
    die ("Error!: " . $e->getMessage() . "<br/>");
} //处理抛出的异常





//查出要复制的区域的所有值
//$aa= $dbh->query("SELECT * FROM `hzp_install`.`jq_article` WHERE `channel` LIKE '%notice%' LIMIT 0,1000")->fetchAll();
$aa= $dbh->query("SELECT * FROM `hzp_install`.`jq_link` LIMIT 0,1000")->fetchAll();


[];


$sql = '';

foreach ($aa as $value) {

//以下为要复制的字段的值
    $name = $value['name'];
    $url = $value['url'];

//    以下为数据库对应的字段名与值,例如MC为字段名,$name为对应的值
  $cc=  ['MC' => $name, 'link'=> $url];


    $key = [];
    $value = [];

    foreach ($cc as $k=>$item) {

//        print_r($key);

        $key[]='`'.$k.'`';
        $value[] = "'$item'";
    }

    $key = implode(',',$key); //字段名
    $value = implode(',',$value); //

   $sql.= "INSERT INTO `huazhuangpinxh`.`link`($key) VALUES ( $value);
";


}


print_r($sql); //打印sql语句

打印出想要的值之后将其复制到数据库管理系统(我这里用的是Navicat)的命令列中(最好是目的表的命令列中,以免误报表丢失),然后运行即可插入

posted @ 2020-01-19 14:51  远方的异特  阅读(1286)  评论(0编辑  收藏  举报