利用php修改mysql数据库表前缀

话不多说,直接干货;

<?php
// error_reporting(0);
//设置好相关信息
$dbserver='localhost';//连接的服务器一般为localhost
$dbname='jfpay';//数据库名
$dbuser='root';//数据库用户名
$dbpassword='';//数据库密码
$old_prefix='pay_';//数据库的前缀
$new_prefix='new_';//数据库的前缀修改为
if ( !is_string($dbname) || !is_string($old_prefix)|| !is_string($new_prefix) ){
return false;
}
//PHP5.0开始mysql_connect()就不推荐使用了,到PHP7.0就直接被废弃了
// mysqli_connect()
$con = mysqli_connect($dbserver, $dbuser, $dbpassword,$dbname);
if (mysqli_connect_errno($con))
{
echo "连接 MySQL 失败: " . mysqli_connect_error();
}

//取得数据库内所有的表名
//$result = mysql_list_tables($dbname);
//没有mysqli_list_tables()函数,使用mysqli_query() 代替
$result = mysqli_query($con, "SHOW TABLES");
if (!$result){
echo 'MySQL Error: ' . mysqli_error();
exit;
}

//把表名存进$data
while ($row = mysqli_fetch_row($result)) {
$data[] = $row;
}
//过滤要修改前缀的表名
$preg = false;
foreach($data as $k => $v){
$preg = preg_match("/^($old_prefix{1})([a-zA-Z0-9_-]+)/i", $v[0], $v1);
if($preg){
$tab_name[$k] = $v1[2];
}
}
if($preg){
foreach($tab_name as $k => $v){
$sql = 'RENAME TABLE `'.$old_prefix.$v.'` TO `'.$new_prefix.$v.'`';
mysqli_query($con, $sql);
}
echo '数据表前缀:'.$old_prefix."已经修改为:".$new_prefix."<br/>";
}else{ echo '您的数据库表的前缀'.$old_prefix.'输入错误。请检查相关的数据库表的前缀';
if ( mysqli_free_result($result) ){
return true;
}
}

 

所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!

更多请关注:老梁`s Blog

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。 您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可->联系老梁投诉资源
Laoliang.Net资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:service@laoliang.net
老梁`s Blog(老梁博客) » 利用php修改mysql数据库表前缀

发表评论

本站承接,网站推广(SEM,SEO),软件的安装的安装与调试,服务器的推荐以及配置,APP的开发与维护,网络或者web维护;财务软件,客户管理系统,人力资源,超市POS,医药管理,服务器安全,ecshop,金蝶,用友,管家婆;

立即查看 了解详情