php mysqli批量替换数据库表前缀实例

 代码如下 复制代码

<?php
header ( 'http-equiv="Content-Type" content="text/html; charset=utf-8"' );
$DB_host = "localhost"; //数据库主机
$DB_user = "root"; //数据库用户
$DB_psw = "root3306"; //数据库密码
$DB_datebase = "gk_yue39_com"; //数据库名
$DB_charset = "utf8"; //数据库字符集
$dbprefix="yue392_com_";
$new_dbprefix="yue39_com_";
$db = new mysqli ( $DB_host, $DB_user, $DB_psw ); //实例化对象

//检查连接
if (mysqli_connect_errno ()) {
 printf ( "Connect failed: %sn", mysqli_connect_error () );
 exit ();
}

$db->select_db ( $DB_datebase ); //选择操作数据库

$db->set_charset ( $DB_charset ); //设置数据库字符集

//执行一个查询
$sql = 'show tables';
$result = $db->query ( $sql );

echo $result->num_rows . ' 行结果  ' . $result->field_count . ' 列内容<br/>';

//$result->data_seek('5');//从结果集中第5条开始取结果

echo '<table border="1" cellspacing="0" cellpadding="0" align="center" width="90%">';

//循环输出字段名
//$result->field_seek(2);//从字段集中第2条开始取结果
while ( true == ($field = $result->fetch_field ()) ) {
 echo '<th>' . $result->current_field . '_' . $field->name . '(' . $field->length . ')</th>';
}

//循环输出查询结果
while ( true == ($row = $result->fetch_assoc ()) ) {
 echo '<tr>';
 foreach ( $row as $col ) {
$sql="rename table `".$col."` to `".str_replace ( $dbprefix, $new_dbprefix, $col)."`";
    if($db->query ( $sql )){
  echo '<td align="center">' . $sql. '</td><td><font color="blue"> success</font></td>';
  }else{
  echo '<td align="center">' . $sql. '</td><td><font color="red"> failed</font></td>';
  } 
  }
 echo '</tr>';
}

echo '</table>';
$result->free ();//释放结果集
$db->close (); //关闭连接
?>

时间: 2024-11-01 14:28:34

php mysqli批量替换数据库表前缀实例的相关文章

php+mysqli实现批量替换数据库表前缀的方法_php技巧

本文实例讲述了php+mysqli实现批量替换数据库表前缀的方法.分享给大家供大家参考.具体分析如下: 在php中有时我们要替换数据库中表前缀但是又不苦于一个个表去修改前缀,这里我自己写了一个mysqli批量替换数据库表前缀的php程序,感兴趣的朋友可以参考一下,代码如下: <?php header ( 'http-equiv="Content-Type" content="text/html; charset=utf-8"' ); $DB_host = &q

php批量更改数据库表前缀实现方法_php实例

通过下面这个方法,轻松搞定,代码如下,有用到的顶起. 复制代码 代码如下: <?php        $database = "databaseName";         //数据库名称        $user = "root";                       //数据库用户名        $pwd = "pwd";                         //数据库密码        $replace ='pr

sql批量删除数据与批量删除数据库表语句

游标删除方法  代码如下 复制代码 //定义游标 DECLARE tables_cursor CURSOR FOR SELECT name FROM sysobjects WHERE type = 'U' //选择用户表名 OPEN tables_cursor //打开游标连接   DECLARE @tablename sysname // 定义变量 FETCH NEXT FROM tables_cursor INTO @tablename //结果集中一行一行读取表名 WHILE (@@FET

sqlserver replace函数 批量替换数据库中指定字段内指定字符串参考方法

语法 REPLACE ( 'string_e­xpression1' , 'string_e­xpression2' , 'string_e­xpression3' ) 参数说明 'string_e­xpression1' 待搜索的字符串表达式.string_e­xpression1 可以是字符数据或二进制数据. 'string_e­xpression2' 待查找的字符串表达式.string_e­xpression2 可以是字符数据或二进制数据. 'string_e­xpression3' 替换

php实现批量删除挂马文件及批量替换页面内容完整实例_php技巧

本文实例讲述了php实现批量删除挂马文件及批量替换页面内容的方法.分享给大家供大家参考,具体如下: <?php # functionality: 本程序可以扫描指定目录的所有文件,进行内容替换.可用于被批量挂马的删除以及批量更新页面某些内容. # 本程序适用于对UTF-8的页面进行修改. set_time_limit(3600); //脚本运行时间 ?> <?php if($_POST['Submit']=='开始执行操作'){ $dir = $_POST['searchpath'];

Access中批量替换数据库内容的两种方法_Access

今天遇到一个问题,一Access数据库中存放着N条文章记录,现在想替换掉这些文章中的部分内容,我们首先想到的是到网站后台去一条一条修改文章,那如果有1000篇文章,那就在网站后台改1000次,难以想象这是什么样的工作量.其实在Access数据库中可以利用SQL语句来批量替换内容,只需一句话就能解决问题,下面通过两种方法来解决此问题. 方法一:通过Access数据库中的查询分析器来修改(这里我使用的是Access 2003) 1.打开需要修改的Access数据库 2.在数据库"对象"中点

WordPress修改数据库表前缀后无法登陆或权限不足解决办法

重新安装WP后,发现原来的那个用户名登陆不了了,提示权限不足,度了一把,找到了解决办法,这就来记录下! 操作步骤如下: 登录phpmyadmin–>选中数据库–>点击SQL输入以下语句: UPDATE wp_options SET option_name = REPLACE(option_name,'wp','51php'); UPDATE wp_usermeta SET meta_key = REPLACE(meta_key,'wp','51php'); 总结:执行完以上两条SQL语句就可以

wordpress批量替换数据库中图片地址

方法一,phpmyadmin批量替换 打开亲家的phpmyadmin数据库管理软件,打开你导入的数据库,然后选择需要修改数据的表,比如我要修改文章中的图片地址,那么我就要选择wp_posts表(如下图): 然后,点击"搜索"菜单,出现如下图的界面: 然后,再点击"查找并替换"按钮,就出现如下图的界面:   然后,在查找的地方填上你需要替换的东西(如地址),在替换为处填写替换后的东西(如现在的域名),然后再点击下面的执行,这样就进行了替换.呵呵,是不是很简单. 方法二

dedecms数据库表前缀不一样怎么还原数据

我们在用dedecms建站时,安装一般都"下一步"直接往下点,这样默认的表前缀是dede_,如果我们要还原从其他地方拷贝过来的数据,一定要注意表头是否一致.如果表头不一样怎么办呢?有两种方法,第一种,通过数据库批量修改表前缀,不熟悉数据库的朋友不建议操作:第二种,修改备份的文件,本文以第二种为例 第一步,打开备份文件,一般是在/dede/data/backupdata/目录,把所有文件(index.html和tables_struct_***.txt除外)重命名,比如dede_改为&q