php多选批量修改数据库数据类型有哪些_PHP批量替换MySql数据库中的数据内容

classreplace{public $dbAddress; //数据库地址

public $dbUser; //数据库用户名

public $dbPwd; //数据库密码

public $dbName; //数据库名称

public $dbPort; //数据库端口

public $keywords; //需要替换的关键字

public $result_keywords; //替换成什么

//数据库连接

public function dbConnect($dbAddress,$dbUser,$dbPwd,$dbName,$dbPort=''){if(empty($dbPort)){$dbPort = '3306';

}$this->dbAddress = $dbAddress;$this->dbUser = $dbUser;$this->dbPwd = $dbPwd;$this->dbName = $dbName;$this->dbPort = $dbPort;//数据库连接

$dbCon = mysql_connect($dbAddress.':'.$dbPort,$dbUser,$dbPwd);//数据库连接验证

if($dbCon){//数据库连接成功

//指定数据库

$assign = mysql_select_db($dbName,$dbCon);if($assign){mysql_query("set names 'utf8'"); //设置要使用的字符集

return array('return'=>true,'ps'=>'数据库连接成功');

}else{return array('return'=>false,'ps'=>'指定数据库失败');

}

}else{//数据库连接失败

return array('return'=>false,'ps'=>'数据库连接失败:'.mysql_error());

}

}//查询所有表

public functionqueryTable(){$rs = mysql_query("SHOW TABLES FROM ".$this->dbName);$tables = array();while ($row = mysql_fetch_row($rs)) {$tables[] = $row[0];

}mysql_free_result($rs);return $tables;

}//查询所有带关键字的数据并替换

/*table 数据库中的所有表名数组

keywords 查询的关键字

result 要替换成什么*/

public function queryReplace($table,$keywords='',$result_keywords=''){$this->keywords = $keywords;$this->result_keywords = $result_keywords;$arr = array(); //装载返回信息

$index = 1; //自增值

//循环所有表

foreach($table as $key=>$v){$result = mysql_query('select * from '.$v);for ($i=0;$idbName 表名是 $v 字段名是 $fieldName

$fieldResult = mysql_query('select '.$fieldName.' from '.$v);while($fieldRow = mysql_fetch_array($fieldResult)){//判断该字段中的数据内容是否存在将要替换的关键字

$fieldValue = $fieldRow[$fieldName];if(strpos($fieldValue,$keywords) !== false){//如果存在就继续执行替换

$replaceBack = str_replace($keywords,$result_keywords,$fieldValue);//更换数据

if(mysql_query('update '.$v.' set '.$fieldName.'="'.$replaceBack.'" where '.$fieldName.'="'.$fieldValue.'"')){$arr[$index]["dbName"] = $this->dbName;$arr[$index]["tableName"] = $v;$arr[$index]["fieldName"] = $fieldName;$index++;

}

}

}

}

}return $arr;

}

}//程序逻辑

$replace = new replace(); //实例化类

$steps = $_GET["steps"]; //执行步骤

//dbSet数据库信息设置

//detection检测

if(empty($steps)){$steps = 'dbSet';

}if($steps=='detection'){$dbAddress = $_POST["dbAddress"];$dbUser = $_POST["dbUser"];$dbPwd = $_POST["dbPwd"];$dbName = $_POST["dbName"];$dbPort = $_POST["dbPort"];$keywords = $_POST["keywords"];$result_keywords = $_POST["result_keywords"];if(empty($dbAddress) || empty($dbUser) || empty($dbPwd) || empty($dbName) || empty($dbPort) || empty($keywords)){die("带星号的值必须填写");

}$db = $replace->dbConnect($dbAddress,$dbUser,$dbPwd,$dbName,$dbPort);$queryTable = $replace->queryTable();

}//以下为HTML

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值