コード例 #1
0
 p('DBHost:');
 makeinput(array('name' => 'dbhost', 'size' => 20, 'value' => $dbhost));
 p('DBUser:'******'name' => 'dbuser', 'size' => 15, 'value' => $dbuser));
 p('DBPass:'******'name' => 'dbpass', 'size' => 15, 'value' => $dbpass));
 makeinput(array('value' => 'Connect', 'type' => 'submit', 'class' => 'bt'));
 p('</p>');
 if ($dbhost && $dbuser && isset($dbpass)) {
     // 初始化数据库类
     $DB = new DB_MySQL();
     $DB->charsetdb = $charsetdb;
     $DB->charset = $charset;
     $DB->connect($dbhost, $dbuser, $dbpass, $dbname);
     //获取数据库信息
     p('<p class="red">MySQL ' . $DB->version() . ' running in ' . $dbhost . ' as ' . $dbuser . '@' . $dbhost . '</p>');
     $highver = $DB->version() > '4.1' ? 1 : 0;
     //获取数据库
     $query = $DB->query("SHOW DATABASES");
     $dbs = array();
     $dbs[] = '-- Select a database --';
     while ($db = $DB->fetch($query)) {
         $dbs[$db['Database']] = $db['Database'];
     }
     makeselect(array('name' => 'dbname', 'option' => $dbs, 'selected' => $dbname, 'onchange' => 'setdb(this.options[this.selectedIndex].value)'));
     if ($dbname) {
         p('<p>Current dababase: <a href="javascript:setdb(\'' . $dbname . '\');">' . $dbname . '</a>');
         if ($tablename) {
             p(' | Current Table: <a href="javascript:settable(\'' . $tablename . '\');">' . $tablename . '</a> [ <a href="javascript:settable(\'' . $tablename . '\', \'structure\');">Structure</a> ]');
         }
         p('</p>');
コード例 #2
0
         while ($fields = $DB->fetch_array($fieldsquery)) {
             $r = '/^' . $db_prefix . '/';
             $cuttable = preg_replace($r, '', $DBtable);
             $saxdbnew[$cuttable][$fields['Field']]['Field'] = $fields['Field'];
             $saxdbnew[$cuttable][$fields['Field']]['Type'] = $fields['Type'];
             $saxdbnew[$cuttable][$fields['Field']]['Null'] = $fields['Null'] == '' ? 'NO' : $fields['Null'];
             $saxdbnew[$cuttable][$fields['Field']]['Extra'] = $fields['Extra'];
             $saxdbnew[$cuttable][$fields['Field']]['Default'] = $fields['Default'] == '' || $fields['Default'] == '0' ? '' : $fields['Default'];
         }
         ksort($saxdbnew[$cuttable]);
     } else {
         $missingtables[] = '<span style="float:left;width:33%">' . (($installexists ? '<input name="missingtable[]" type="checkbox" class="checkbox" value="' . $DBtable . '">' : '') . $db_prefix . $DBtable) . '</span>';
         $excepttables[] = $DBtable;
     }
 }
 if ($DB->version() > '4.1') {
     $query = $DB->query("SHOW TABLE STATUS LIKE '{$db_prefix}%'");
     $standard_db_charset = 'utf8';
     while ($tables = $DB->fetch_array($query)) {
         $r = '/^' . $db_prefix . '/';
         $cuttable = preg_replace($r, '', $tables['Name']);
         $tabledbcharset = substr($tables['Collation'], 0, strpos($tables['Collation'], '_'));
         if (strtoupper($standard_db_charset) != strtoupper($tabledbcharset)) {
             $charseterror[] = '<span style="float:left;width:33%">' . $db_prefix . $cuttable . '(' . $tabledbcharset . ')</span>';
         }
     }
 }
 $DBmd5new = md5(serialize($saxdbnew));
 $settingsdatanow = array();
 $settingsquery = $DB->query("SELECT title FROM {$db_prefix}settings ORDER BY title");
 while ($settings = $DB->fetch_array($settingsquery)) {