php教程

php批量替换数据库所有字符

php教程 51源码 12-29 人阅读

分享一段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','我的','我的站长站');

上传到网站根目录,浏览器运行访问。