这技术用在版本升级的时候比较好,代码如下:
<?
mysql_connect('localhost','root','root');
mysql_select_db('tablea'); //标准的数据库
$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][] =$s1[0];
	}
}
mysql_close();
 
mysql_connect('localhost','root','root');
mysql_select_db('tableb');//需要比较的数据库
$q2 = mysql_query("show tables");
while($s2 = mysql_fetch_array($q2)){
	$name2= $s2[0];
	$q3 = mysql_query("desc $name2");
	while ($s3 = mysql_fetch_array($q3)) {
		$aa[$name2][] =$s3[0];
	}
 
}
mysql_close();
$f = $e = array();
$str = $fuhao ='';
foreach($a as $k=>$v){
	if(!is_array($aa[$k])){
		$e[] = $k;
	}
	else{
		if(count($aa[$k]) <> count($v)){	
			foreach($v as $k1=>$v1){
				if(!in_array($v1,$aa[$k])){
					$f[$k][] = $v1;
				}
			}
		}
	}
}
echo "<pre>";
print_r($e);//缺少表
print_r($f);//缺少表的字段
 
?>实际上代码还是很容易懂的,只是有的时候需要一种意识才能够写出来。原文网址是:http://www.chhua.com/web-note2165