正在载入...

为什么要修改wordpress数据库表前缀:一是为了安全,不定期修改wordpress数据库表前缀是安全的专业建议之一。二是换空间了,原来数据库已存在同一前缀的表。

现在只需要上传一个php工具,不用进数据库就能批量修改wordpress数据库表前缀了。先看 php工具代码:

在进行下列操作之前,请务必备份数据库,否则后果自负。

<?php
/**
* 修改wordpress表名前缀的工具.
*filename:reset_suffix.php
* @By 偶米工作室
*/

header("Content-type: text/html; charset=utf-8");
/////////下面两行您需要修改///////////
$oldtablepre=wentong_'; //旧的表前缀
$newtablepre='wentong_org_'; //您要修改成新的表前缀
/////////上面两行您需要修改///////////

##########@以下请勿修改@###########################!DONT CHANGE BELOW!##################################################
require_once( dirname(__FILE__) . '/wp-load.php' );

$tables=array("{$oldtablepre}commentmeta","{$oldtablepre}comments","{$oldtablepre}links","{$oldtablepre}options","{$oldtablepre}postmeta","{$oldtablepre}posts","{$oldtablepre}terms","{$oldtablepre}term_relationships","{$oldtablepre}term_taxonomy","{$oldtablepre}usermeta","{$oldtablepre}users");

echo '<div style="font-size:1.2em;"><span style="color:gray;font-weight:bold;">下面更改表名:</span><hr></hr>';

foreach ($tables as $key => $value){
$oldtable=$value;
$newtable=str_replace($oldtablepre,$newtablepre,$value);
$wpdb->query("ALTER TABLE `$oldtable` RENAME TO `$newtable`");
echo '成功更改表名'.$oldtable.'为:<span style="color:green;">'.$newtable.'</span><br></br>';
}

echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'options表中的键值:</span><hr></hr>';

$wpdb->query("update `{$newtablepre}options` set `option_name`=replace(option_name,'{$oldtablepre}user_roles','{$newtablepre}user_roles')");

echo '成功更改'.$oldtablepre.'user_roles为:<span style="color:green;">'.$newtablepre.'user_roles</span><br></br>';

$meta_key=array("{$oldtablepre}capabilities","{$oldtablepre}user_level","{$oldtablepre}autosave_draft_ids","{$oldtablepre}usersettings","{$oldtablepre}usersettingstime");

echo '<span style="color:gray;font-weight:bold;">下面更改'.$newtablepre.'usermeta表中的键值:</span><hr></hr>';

foreach ($meta_key as $key => $value){
$oldoption=$value;
$newoption=str_replace($oldtablepre,$newtablepre,$value);
$rs=$wpdb->query("update `{$newtablepre}usermeta` set `meta_key` =replace(meta_key,'$oldoption','$newoption')");
echo '成功更改'.$oldoption.'为:<span style="color:green;">'.$newoption.'</span><br></br>';
}

echo '</div>';

?>

新建一个reset_suffix.php,复制粘贴以上代码,格式转为 utf-8无bom编码,保存上传至 wp-config.php 同一文件夹。

在浏览器输入 http://wentong.org/reset_suffix.php(wentong.org换成你的域名)。

修改wp-config.php的表前缀为你新的表前缀。如本例子中的 wentong_org_

 

本文链接:

关键词:MySQL, PHP, WordPress, 代码, 批量修改, 表前缀,

(全文完        )

Comments

5 条评论(网友评论:5 条,博主回复:0 条)快速评论

  1. 安顺房产

    文章打开的时候好酷炫,嘿嘿

  2. 文章打开的时候好酷炫,嘿嘿

  3. 不错,很有用,路过支持一下。

  4. 这个我好像解决了。。

  5. 好多啊,哈哈,谢谢您

你需要 登录 才可以回复.