首页 >php教程 >php手册 >php mysqli批量替换数据库表前缀实例

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

WBOY
WBOY原创
2016-05-25 16:38:011270浏览

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

<?php
header(&#39;http-equiv="Content-Type" content="text/html; charset=utf-8"&#39;);
$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 = &#39;show tables&#39;;
$result = $db->query($sql);
echo $result->num_rows . &#39; 行结果  &#39; . $result->field_count . &#39; 列内容<br/>&#39;;
//$result->data_seek(&#39;5&#39;);//从结果集中第5条开始取结果
echo &#39;<table border="1" cellspacing="0" cellpadding="0" align="center" width="90%">&#39;;
//循环输出字段名
//$result->field_seek(2);//从字段集中第2条开始取结果
while (true == ($field = $result->fetch_field())) {
    echo &#39;<th>&#39; . $result->current_field . &#39;_&#39; . $field->name . &#39;(&#39; . $field->length . &#39;)</th>&#39;;
}
//循环输出查询结果
while (true == ($row = $result->fetch_assoc())) {
    echo &#39;<tr>&#39;;
    foreach ($row as $col) {
        $sql = "rename table `" . $col . "` to `" . str_replace($dbprefix, $new_dbprefix, $col) . "`";
        if ($db->query($sql)) {
            echo &#39;<td align="center">&#39; . $sql . &#39;</td><td><font color="blue"> success</font></td>&#39;;
        } else {
            echo &#39;<td align="center">&#39; . $sql . &#39;</td><td><font color="red"> failed</font></td>&#39;; //开源代码phprm.com
        }
    }
    echo &#39;</tr>&#39;;
}
echo &#39;</table>&#39;;
$result->free(); //释放结果集
$db->close(); //关闭连接


本文地址:

转载随意,但请附上文章地址:-)

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn