Home >Backend Development >PHP Tutorial >php mysqli batch replacement database table prefix example_PHP tutorial

php mysqli batch replacement database table prefix example_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:46:55915browse

In PHP, sometimes we need to replace the table prefixes in the database, but we don’t have to worry about modifying the prefixes one by one. Below, I wrote a PHP program for mysqli to replace database table prefixes in batches. I hope these methods will be helpful to you.

The code is as follows
 代码如下 复制代码


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 . ' 列内容
';

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

echo '

';

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

';
}

//循环输出查询结果
while ( true == ($row = $result->fetch_assoc ()) ) {
 echo '

';
 foreach ( $row as $col ) {
$sql="rename table `".$col."` to `".str_replace ( $dbprefix, $new_dbprefix, $col)."`";
    if($db->query ( $sql )){
  echo '';
  }else{
  echo '';
  } 
  }
 echo '';
}

echo '

' . $result->current_field . '_' . $field->name . '(' . $field->length . ')
' . $sql. ' success' . $sql. ' failed
';
$result->free ();//释放结果集
$db->close (); //关闭连接
?>

Copy code

header ( 'http-equiv="Content-Type" content="text/html; charset=utf-8"' );
$DB_host = "localhost"; //Database host
$DB_user = "root"; //Database user
$DB_psw = "root3306"; //Database password
$DB_datebase = "gk_yue39_com"; //Database name
$DB_charset = "utf8"; //Database character set
$dbprefix="yue392_com_";
$new_dbprefix="yue39_com_";
$db = new mysqli ( $DB_host, $DB_user, $DB_psw ); // Instantiate object

//Check connection
if (mysqli_connect_errno ()) {
printf ( "Connect failed: %sn", mysqli_connect_error () );
exit ();
}

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn