分享一段php批量替换数据库所有字符,可针对一个数据库的所有表中的特点字符进行替换。
php代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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文件,保存上面代码,修改数据库信息,如:
1 | replace_char( 'localhost' , 'root' , '' , 'v5' , '我的' , '我的站长站' ); |
上传到网站根目录,浏览器运行访问。