yangakw yangakw

wordpress到typecho

in 代码read (115) 文章转载请注明来源!

前几天在清理ecs的文件的时候手残竟然把博客给删了,个人习惯shift+del永久性的删除,恢复不了了。
只怪自己把博客 名字起的太怪了以至于自己都不认识了,还好数据库还在。
我一开始以为重新安装一个wordpress就ok了,于是又尝试安装一次,我把数据库替换后把前缀什么的都配置好了还是不行,提示版本有问题,搞了那么久有点不耐烦了,于是就找到这个轻量级的系统,至于怎么搬站就自己写个脚本吧。

function db($db){

    $db = array(
        'dsn' => 'mysql:host=localhost;dbname='.$db.';port=3306;charset=utf8',
        'host' => 'localhost',
        'port' => '3306',
        'dbname' => $db,
        'username' => 'root',
        'password' => 'root',
        'charset' => 'utf8',
    ); 
    //连接
    $options = array(
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //默认是PDO::ERRMODE_SILENT, 0, (忽略错误模式)
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, // 默认是PDO::FETCH_BOTH, 4
    );

    try{
        $pdo = new PDO($db['dsn'], $db['username'], $db['password'], $options);
    }catch(PDOException $e){
        die('数据库连接失败:' . $e->getMessage());
    }
    return $pdo;

}

通过pdo连接数据库,##其实我只有几篇博文,毕竟那么多自己手打的不能浪费自己的劳动。
通过把wp_contents的数据导出到新博客里,
其中的问题是wordpress有撤销机制,一篇文章有多条记录。
请输入图片描述

分析字段语义,设置如下sql

select * from wp_posts where post_status = "publish"

最后上代码:

$pdo = db("yangakw"); 
$pdo2 = db("typecho"); 
$stmt = $pdo->query('select * from wp_posts where post_status = "publish";');  
$rows = $stmt->fetchAll(); //获取所有 

foreach($rows as $line){
    $title = $line["post_title"];
    $text = $line["post_content"]; 
    $stmt = $pdo2->prepare("insert into typecho_contents set title = ? ,text = ?");
    $stmt->bindValue(1,$title);
    $stmt->bindValue(2,$text);
    $stmt->execute();  //执行一条预处理语句 .成功时返回 TRUE, 失败时返回 FALSE  
}

然后再typecho后台就可以看到自己以前的东西了

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

发表新评论
博客已运行
© 2017 yangakw
PREVIOUS NEXT
雷姆
拉姆