本文实例讲述了PHP+MysqLi实现批量替换数据库表前缀的方法。分享给大家供大家参考。具体分析如下:
在PHP中有时我们要替换数据库中表前缀但是又不苦于一个个表去修改前缀,这里我自己写了一个MysqLi批量替换数据库表前缀的PHP程序,感兴趣的朋友可以参考一下,代码如下:
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 . ' 列内容
';
//$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 '
}
//循环输出查询结果
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</td>';
}else{
echo '<td align="center">' . $sql. '</td><td><font color="red"> Failed</td>';
}
}
echo '</tr>';
}
echo '</table>';
$result->free ();//释放结果集
$db->close (); //关闭连接
?>
第二种方法:如何批量修改MysqL的数据库表前缀名称
批量修改表名的操作方法,以下操作请用操作即可,快捷方便:
执行后得到如下的结果:
保留如下的数据:
然后选择要修改的数据库,执行上面得到的sql语句就可以修改掉数据库表前缀了。 附:1、批量删除指定前缀的表