数据库比对脚本(PHP版)
2024-10-19 02:19:38
$config = [
'hotfix' => [
'host'=>'',
'port'=>'',
'account'=>'',
'password'=>'',
'database'=>'',
],
'release' => [
'host'=>'',
'port'=>'',
'account'=>'',
'password'=>'',
'database'=>'',
],
'master' => [
'host'=>'',
'port'=>'',
'account'=>'',
'password'=>'',
'database'=>'',
],
]; function display($compare1,$compare2){
$html = '<title>数据库对比脚本</title>';
$html .= '<form method="GET">
原数据库:
<select name="db1">
<option value="hotfix"'.($compare1=='hotfix'?'selected="selected"':"").'>开发站</option>
<option value="release"'.($compare1=='release'?'selected="selected"':"").'>测试站</option>
<option value="master"'.($compare1=='master'?'selected="selected"':"").'>正式站</option>
</select>
现数据库:
<select name="db2">
<option value="hotfix"'.($compare2=='hotfix'?'selected="selected"':"").'>开发站</option>
<option value="release"'.($compare2=='release'?'selected="selected"':"").'>测试站</option>
<option value="master"'.($compare2=='master'?'selected="selected"':"").'>正式站</option>
</select>
<input type="submit" value="对比" /><br><br>';
$html .= '相比原数据库,现数据库:<br>';
return $html;
} function databaseData($config,$compare){
$aaaaa = mysql_connect(
$config[$compare]['host'].':'.$config[$compare]['port'],
$config[$compare]['account'],
$config[$compare]['password']
);
mysql_select_db($config[$compare]['database']); //标准的数据库
$q = mysql_query("show tables");
while($s = mysql_fetch_array($q)){
$name = $s[0];
$q1 = mysql_query("desc $name");
while ($s1 = mysql_fetch_array($q1)) {
$a[$name]['field'][] =$s1[0];
$a[$name]['format'][] =$s1[1];
}
}
mysql_close();
return $a;
} function dataCompare($a,$aa){
$f = $e = array();
$str = $fuhao ='';
foreach($a as $k=>$v){
if(!is_array($aa[$k])){
$e[] = $k;
echo "<div style='background:#fdd'>缺少表:<font color='blue'>$k</font></div>";
}
else{
foreach($v['field'] as $k1=>$v1){
if(!in_array($v1,$aa[$k]['field'])){
$f[$k]['field'][] = $v1;
echo "<div style='background:#ff9'>表<font color='blue'>".$k."</font>缺少字段: <font color='red'>".$v1."</font>"."</div>";
}else{
if(!in_array($v['format'][$k1],$aa[$k]['format'])){
$f[$k]['format'][] = $v['format'][$k1];
echo "<div style='background:#ddd'>表<font color='blue'>".$k."</font>字段 <font color='red'>".$v1."</font>修改为<font color='green'>".$v['format'][$k1]."</font>"."</div>";
}
}
}
}
}
} $compareOne = isset($_GET['db1'])?$_GET['db1']:'';
$compareTwo = isset($_GET['db2'])?$_GET['db2']:'';
echo display($compareOne,$compareTwo);
$a = databaseData($config,$compareOne);
$aa = databaseData($config,$compareTwo);
dataCompare($a,$aa);
最新文章
- Swift 语法
- Saying that Java is nice because it works on every OS is like saying that anal sex is nice because it works on every gender.
- cefsharp在xp上运行
- 局域网无法访问vmware虚拟机WEB服务器解决办法
- python图像识别--验证码
- ThinkPHP中的模型
- linux top动态查看进程信息
- js ie8不支持项总结
- JBPM——MyEclipse开发环境的搭建
- 创建 overlay 网络 - 每天5分钟玩转 Docker 容器技术(50)
- pygame事件之——控制物体(飞机)的移动
- 编译问题:&#39;<;invalid-global-code>;&#39; does not contain a definition for &#39;Store&#39; and no extension method &#39;XXX&#39; accepting a first argument of type &#39;<;invalid-global-code>;&#39; could be found
- [转]Understand QoS at OpenSwitch
- C# yield return; yield break;
- pthread_cond_wait() 函数的使用
- LaTeX简历模板
- APR欺骗
- 一款标注颜色,距离的小软件 markman
- 【C#/WPF】图片的切割/切图/裁剪图片
- rpm源码安装mysql
热门文章
- JSON.parse()的异常怎么处理;
- Spring MVC 简单介绍
- 学习ExtjsFor.NET(第二个案例-Array的Every方法)
- sql server 规则
- win7(32 bit) 环境下点击打印预览报错解决办法
- Css元素布局定位
- IOS8 设置TableView Separatorinset 分割线从边框顶端开始
- C++ try catch 捕获空指针异常,数组越界异常
- 【LeetCode题意分析&;解答】36. Valid Sudoku
- css多行文本垂直居中问题研究