A5下载文章资讯

分类分类

批量修改ecshop等php程序表名前缀的两个方法

2015-07-17 09:04作者:fang

1. 批量修改表名前缀有个很简单的方法,大家使用到的帝国备份王等工具就自带此功能:

批量修改ecshop等php程序表名前缀的两个方法

批量替换表名的地方,看清楚了吗?

2. 第二个方法大家网上有说:将下面的代码保存到edit_table.php中放到网站根目录直接运行即可

define(‘IN_ECS’, true);

require(dirname(__FILE__) . ‘/includes/init.php’);

$sql = “show tables”;

$rows = $db->query($sql);

$old_prefix = ‘ecs’;

$new_prefix = ‘test_’;

$dataname = “utf273″;

while($row = $GLOBALS['db']->fetchRow($rows)){

$arr = explode(“_”,$row['Tables_in_'.$dataname]);

if($arr[0] == $old_prefix){//保证要替换的是表的前缀

$new_table_name = str_replace($old_prefix.”_”, $new_prefix, $row['Tables_in_'.$dataname]);//替换前缀

}

$sql = ‘rename table ‘.$row['Tables_in_'.$dataname].’ TO ‘.$new_table_name;

if($GLOBALS['db']->query($sql)){

echo ‘rename table ‘.$row['Tables_in_'.$dataname].’ TO ‘.$new_table_name.”

”;

}

}

转载请带最模板网址,不带网址的MJJ!

?>

这个方法有时会报错就是报ecs_session表找不到的错误,这个是因为,更新表之后,会执行更新ecs_session表的语

句,应该是因为没有清除缓存的原因,这个地方报错。

其实还有第三个方法,很简单,直接用phpmyadmin导出数据库表,然后用EditPlus打开表内容,来个批量替换,再

导入回去。新手看不清楚就把库替换坏了,不建议! 但最模板常用!

展开全部

相关

说两句网友评论
    我要跟贴
    取消