分享一段php批量替换数据库所有字符,可针对一个数据库的所有表中的特点字符进行替换。
php代码
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; }
使用方法
新建PHP文件,保存上面代码,修改数据库信息,如:
replace_char('localhost','root','','v5','我的','我的站长站');
上传到网站根目录,浏览器运行访问。