'; for ($i=1;$i'; $comment = (isset($row["TABLE_COMMENT"]) ? $row["TABLE_COMMENT"] : ""); if ($comment) { $xml .= ''.$comment.''; } $q = "SELECT * FROM COLUMNS WHERE TABLE_NAME = '".$table."' AND TABLE_SCHEMA = '".$db."'"; $result2 = mysql_query($q); while ($row = mysql_fetch_array($result2)) { $name = $row["COLUMN_NAME"]; $type = $row["COLUMN_TYPE"]; $comment = (isset($row["COLUMN_COMMENT"]) ? $row["COLUMN_COMMENT"] : ""); $null = ($row["IS_NULLABLE"] == "YES" ? "0" : "1"); $def = $row["COLUMN_DEFAULT"]; $ai = (preg_match("/auto_increment/i",$row["EXTRA"]) ? "1" : "0"); if ($def == "NULL") { $def = ""; } $xml .= ''; $xml .= ''.strtoupper($type).''; $xml .= ''.$def.''; if ($comment) { $xml .= ''.$comment.''; } /* fk constraints */ $q = "SELECT REFERENCED_TABLE_NAME AS 'table', REFERENCED_COLUMN_NAME AS 'column' FROM KEY_COLUMN_USAGE k LEFT JOIN TABLE_CONSTRAINTS c ON k.CONSTRAINT_NAME = c.CONSTRAINT_NAME WHERE CONSTRAINT_TYPE = 'FOREIGN KEY' AND c.TABLE_SCHEMA = '".$db."' AND c.TABLE_NAME = '".$table."' AND k.COLUMN_NAME = '".$name."'"; $result3 = mysql_query($q); while ($row = mysql_fetch_array($result3)) { $xml .= ''; } $xml .= ''; } /* keys */ $q = "SELECT * FROM STATISTICS WHERE TABLE_NAME = '".$table."' AND TABLE_SCHEMA = '".$db."' ORDER BY SEQ_IN_INDEX ASC"; $result2 = mysql_query($q); $idx = array(); while ($row = mysql_fetch_array($result2)) { $name = $row["INDEX_NAME"]; if (array_key_exists($name, $idx)) { $obj = $idx[$name]; } else { $type = $row["INDEX_TYPE"]; $t = "INDEX"; if ($type == "FULLTEXT") { $t = $type; } if ($row["NON_UNIQUE"] == "0") { $t = "UNIQUE"; } if ($name == "PRIMARY") { $t = "PRIMARY"; } $obj = array( "columns" => array(), "type" => $t ); } $obj["columns"][] = $row["COLUMN_NAME"]; $idx[$name] = $obj; } foreach ($idx as $name=>$obj) { $xml .= ''; for ($i=0;$i'; } $xml .= ''; } $xml .= ""; } $arr[] = $xml; $arr[] = ''; return implode("\n",$arr); } ?>