好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php mysqli批量替换数据库表前缀实例 - php高级应用

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

在php中有时我们要替换数据库中表前缀但是又不苦于一个个表去修改前缀吧,下面我自己写了一个mysqli批量替换数据库表前缀的php程序,希望些方法对你有帮助,代码如下:

<?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>' ; //开源代码phpfensi测试数据     }     }    echo   '</tr>' ;  }    echo   '</table>' ;  $result ->free (); //释放结果集   $db ->close ();  //关闭连接   ?>

查看更多关于php mysqli批量替换数据库表前缀实例 - php高级应用的详细内容...

  阅读:44次