mysql数据库所有表字符替换PHP代码

来源:互联网 发布:域名和网址有什么区别 编辑:程序博客网 时间:2024/05/19 17:58

功能:可针对一个数据库的所有表中的特点字符进行替换

set_time_limit(0);
replace_char(主机名,用户名,密码,数据库名,要进行替换的字符串,替换成新的字符串);


function replace_char($host,$root,$password,$database_name,$old,$new){
 mysql_connect($host,$root,$password)or die("数据库连接失败");   
 mysql_select_db($database_name);          
 mysql_set_charset("utf8");
 $sql = "show tables";                   
 $res = mysql_query($sql);
 $all_table_name = array();              //获取数据库中所有表名然后放进数组
 $update_nums = 0;
 while($arr = mysql_fetch_row($res)){
  //获取数据库表中的所有字段名
  $sql_field = "select COLUMN_NAME from information_schema.COLUMNS where table_name = '{$arr[0]}' and table_schema = '{$database_name}'";
  $res_field = mysql_query($sql_field);


 //表中所有字段名放进数组中
    $table_all_field = array();
    while($arr_field = mysql_fetch_row($res_field)){
      $table_all_field[] = $arr_field[0];
    }


    foreach($table_all_field as $v){
      $sql_replace = "update $arr[0] set $v=replace($v,'{$old}','{$new}')";  //SQL字符替换语句
      $res_replace = mysql_query($sql_replace);
      $update_nums++;
    }
  }
  echo $update_nums;
}

0 0
原创粉丝点击