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)的命令列中(最好是目的表的命令列中,以免误报表丢失),然后运行即可插入