功能:可针对一个数据库的所有表中的特点字符进行替换
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;
}