西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > ecshop教程 >

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

时间:2012-11-16 04:13来源:未知 作者:好模板 点击:
1. 批量修改表名前缀有个很简单的方法,大家使用到的帝国备份王等工具就自带此功能: 批量替换表名的地方,看清楚了吗? 2. 第二个方法大家网上有说: 将下面的代码保存到edit_t

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

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

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

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

 <?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.”<br />”;
}
}

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

?>

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

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

 

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

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

好模板建议大家用第一个方法,直观,方便,不容易出错! 替换其他程序也是如此! 

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------