function dumpData($link, $mdb_name, $live_link) { $result = mysql_list_tables($mdb_name, $link); while ($row = mysql_fetch_row($result)) { $getdata = mysql_query("SELECT * FROM {$row['0']}", $link); while ($row1 = mysql_fetch_array($getdata)) { $thesql = "INSERT INTO `{$row['0']}` VALUES ("; $getcols = mysql_list_fields($mdb_name, $row[0], $link); for ($c = 0; $c < mysql_num_fields($getcols); $c++) { $thesql .= "'" . mysql_format($row1[$c]) . "'"; if ($c < mysql_num_fields($getcols) - 1) { $thesql .= ","; } } $thesql .= ")"; mysql_query("{$thesql}", $live_link); unset($err); $err = mysql_error(); if ($err) { print "Query: " . $tok . "<br>"; print "Error: " . $err . "<br>"; } else { print "."; ob_flush(); flush(); } $thesql = ""; } } return true; }
function check_database() { # Initial table setup /* Entries table */ if (!mysql_query("SELECT 1 FROM entries LIMIT 0")) { mysql_query("\n CREATE TABLE `entries` (\n `entry_id` int(11) NOT NULL auto_increment,\n `startdate` date default NULL,\n `project_id` int(11) default NULL,\n `person_id` int(11) default NULL,\n PRIMARY KEY (`entry_id`)\n ) ENGINE=MyISAM AUTO_INCREMENT=191 DEFAULT CHARSET=latin1\n "); } /* People table */ if (!mysql_query("SELECT 1 FROM people LIMIT 0")) { mysql_query("\n CREATE TABLE `people` (\n `person_id` int(11) NOT NULL auto_increment,\n `person_name` varchar(100) default NULL,\n `person_role` varchar(11) default NULL,\n PRIMARY KEY (`person_id`)\n) ENGINE=MyISAM AUTO_INCREMENT=22 DEFAULT CHARSET=latin1\n "); } /* Projects table */ if (!mysql_query("SELECT 1 FROM projects LIMIT 0")) { mysql_query("\n CREATE TABLE `projects` (\n `project_id` int(11) NOT NULL auto_increment,\n `project_name` varchar(100) default NULL,\n `sort_order` int(11) default NULL,\n `parked` varchar(20) default NULL,\n PRIMARY KEY (`project_id`)\n) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=latin1\n "); } /* Changes table */ if (!mysql_query("SELECT 1 FROM changes LIMIT 0")) { mysql_query("\n CREATE TABLE `changes` (\n `change_id` int(11) NOT NULL auto_increment,\n `timestamp` datetime default NULL,\n `instigator` varchar(100) default NULL,\n `verb` varchar(100) default NULL,\n `person_id` int(11) default NULL,\n `preposition` varchar(100) default NULL,\n `project_id` int(11) default NULL,\n `week` varchar(100) default NULL,\n PRIMARY KEY (`change_id`)\n) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=latin1\n "); } /* Options table */ if (!mysql_query("SELECT 1 FROM options LIMIT 0")) { mysql_query("\n CREATE TABLE `options` (\n `option_id` int(11) NOT NULL auto_increment,\n `option_name` varchar(100) default NULL,\n `option_value` text default NULL,\n PRIMARY KEY (`option_id`)\n) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=latin1\n "); } # # add "project_url" field to projects table */ # $fields = mysql_list_fields(DB_NAME, 'projects'); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { $field_array[] = mysql_field_name($fields, $i); } if (!in_array('project_url', $field_array)) { $result = mysql_query('ALTER TABLE projects ADD project_url text'); } # end project_url # # add "person_long_name" field to people table */ # $fields = mysql_list_fields(DB_NAME, 'people'); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { $field_array[] = mysql_field_name($fields, $i); } if (!in_array('person_long_name', $field_array)) { $result = mysql_query('ALTER TABLE people ADD person_long_name VARCHAR(200)'); } # end project_url # # Versions after 0.3 # /* Assuming all went well, bump DB # */ $q = mysql_query('SELECT option_value FROM options WHERE option_name = "db_version"'); $r = mysql_fetch_row($q); if (!$r) { mysql_query('INSERT INTO options (option_name, option_value) VALUES ("db_version", ' . CODE_VERSION . ')'); } else { mysql_query('UPDATE options SET option_value = "' . CODE_VERSION . '" where option_name = "db_version"'); } }
function list_fields($tableName) { $fields = mysql_list_fields($this->db_name, $tableName, $this->connect); $columns = mysql_num_fields($fields); $f = array(); for ($i = 0; $i < $columns; $i++) { array_push($f, mysql_field_name($fields, $i)); } return $f; }
function getTableField($table) { $this->connect(); $fields = mysql_list_fields($this->Database, $table, $this->Link_ID); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { $result[] = array('name' => mysql_field_name($fields, $i), 'type' => mysql_field_type($fields, $i)); } return $result; }
function name_fields($table) { $vet = array(); $campi = mysql_list_fields($this->database, $table, $this->link_id); $colonne = mysql_num_fields($campi); for ($i = 0; $i < $colonne; $i++) { $vet[] = mysql_field_name($campi, $i); } return $vet; }
function readTables() { $link = mysql_connect('localhost', 'root', 'M2oNa3D9'); $result = mysql_list_tables('test', $link); $tables = array(); while ($row = mysql_fetch_row($result)) { $name = $row[0]; $columns = self::readColumns(mysql_list_fields('album', $name, $link)); $keys = self::readKeys(mysql_list_fields('album', $name, $link)); $tables[$name] = array('columns' => $columns, 'keys' => $keys); } return $tables; }
function getTablePrimeKey($pTable) { $this->connectDB(); $fields = mysql_list_fields($this->mDatabaseName, $pTable, $this->mLink); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { $field_name = mysql_field_name($fields, $i); if (in_array("primary_key", explode(" ", mysql_field_flags($fields, $i)))) { $return[] = $field_name; } } return $return; }
function st_check_field($tableName, $columnName) { //Getting table fields through mysql built in function, passing db name and table name $tableFields = mysql_list_fields(DB_DATABASE, $tableName); //loop to traverse tableFields result set for ($i = 0; $i < mysql_num_fields($tableFields); $i++) { //Using mysql_field_name function to compare with column name passed. If they are same function returns 1 if (mysql_field_name($tableFields, $i) == $columnName) { return true; } } //end of loop return false; }
function db_insert($table, $array) { //插入数据 数组array是传递过来的,要求字符串下标必须与数据库中字段名称相同 $head = mysql_list_fields("{$this->dbname}", "{$table}", $this->hwnd); $count = mysql_num_fields($head); $field = mysql_field_name($head, 1); $value = "\"" . $array[mysql_field_name($head, 1)] . "\""; for ($i = 2; $i < $count; $i++) { $field = $field . "," . mysql_field_name($head, $i); $value = $value . "," . "\"" . $array[mysql_field_name($head, $i)] . "\""; } $chaxun = "insert into {$table}({$field}) values({$value})"; $resu = mysql_query($chaxun, $this->hwnd); return $resu; }
function meta($table, $schema = "DEFAULT") { $db = $GLOBALS["CFG_DB"]->CON[$schema]->DB; $link = MysqlDriver::connect($schema); $result = mysql_list_fields($db, $table, $link); $count = mysql_num_fields($result); $fields = array(); for($i = 0; $i < $count; $i++) { $field["name"] = mysql_field_name($result, $i); $field["length"] = mysql_field_len($result, $i); $field["type"] = mysql_field_type($result, $i); $field["flags"] = mysql_field_flags($result, $i); $fields[] = $field; } mysql_free_result($result); return $fields; }
/** * All information about a table columns * * @return array di nomi di colonne e relative info in formato mysql */ public function get_table_metadata($table_name) { $metadata = null; $list_fields = mysql_list_fields($this->user_db, $table_name); if (!$list_fields) { $this->set_error("DB Error, could not get metadata."); return $metadata; } $num_fields = mysql_num_fields($list_fields); for ($i = 0; $i < $num_fields && ($info_field = mysql_fetch_field($list_fields, $i)); $i++) { // aggiungi field flags e salva table metadata $info_field->field_flags = mysql_field_flags($list_fields, $i); $metadata[$info_field->name] = $info_field; } return $metadata; }
function find_db_column($table, $column) { // Better return values than SHOW COLUMNS but mysql_ commands are being depreciated. Migrate to mysqli_ commands instead. $connectstr = @parse_url(MYACTIVERECORD_CONNECTION_STR) or trigger_error("MyActiveRecord::Connection() - could not parse connection string: " . MYACTIVERECORD_CONNECTION_STR, E_USER_ERROR); $dbname = trim($connectstr['path'], ' /'); $fields = mysql_list_fields($dbname, $table); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { $field_array[] = mysql_field_name($fields, $i); } if (in_array($column, $field_array)) { return true; } else { return false; } }
/** * Function: GetFields * Purpose: Returns an array of the fields */ function GetFields($table_name) { $result = mysql_list_fields($GLOBALS[dbname], "{$GLOBALS['prefix']}_{$table_name}"); $total = mysql_num_fields($result); for ($i = 0; $i < $total; $i++) { // name $field_name = mysql_field_name($result, $i); // type & size $result2 = mysql_query("desc {$GLOBALS['prefix']}_{$table_name}"); while ($row = mysql_fetch_array($result2)) { if ($row[Field] == $field_name) { $field_type = $row[Type]; $field_default = $row['Default']; } } if (strstr($field_type, '(')) { $data = explode('(', $field_type); $data2 = explode(')', $data[1]); $field_type = $data[0]; $field_size = $data2[0]; } else { $field_size = mysql_field_len($result, $i); } // flags $field_flags = ''; $flags = explode(' ', mysql_field_flags($result, $i)); foreach ($flags as $k => $v) { // just makes things easer :-) $field_flags[$v] = true; } // put it all together $fields[$field_name] = array('type' => $field_type, 'def' => $field_default, 'auto_increment' => $field_flags[auto_increment], 'binary' => $field_flags[binary], 'blob' => $field_flags[blob], 'enum' => $field_flags[enum], 'multiple_key' => $field_flags[multiple_key], 'not_null' => $field_flags[not_null], 'primary_key' => $field_flags[primary_key], 'timestamp' => $field_flags[timestamp], 'unique_key' => $field_flags[unique_key], 'unsigned' => $field_flags[unsigned], 'zerofill' => $field_flags[zero_fill]); switch ($field_type) { // need to add enum/set code someday case 'float': case 'decimal': $fsize = explode(',', $field_size); $fields[$field_name][size] = $fsize[0]; $fields[$field_name][fraction] = $fsize[1]; break; default: $fields[$field_name][size] = $field_size; break; } } return $fields; }
function mid_sqlparaexcel($banco, $tabela, $sql, $arquivo) { $arquivo = trim($arquivo); // define nome do arquivo $this->nomeDoArquivoXls = $arquivo; $this->nomeDoArquivoXls = $arquivo; //Pega campos da tabela $consTable = mysql_list_fields($banco, $tabela); $linTable = mysql_num_fields($consTable); echo mysql_error(); // Colsulta $consReg = mysql_query($sql); $linReg = mysql_num_rows($consReg); // quantidade de colunas da tabela $qtdColunas = $linTable; // quadro 1, primeira linha, da primeira coluna X/Y $excel_linha = 0; $excel_coluna = 0; for ($e = 0; $e < $qtdColunas; $e++) { $vCampo = mysql_field_name($consTable, $e); $vCampox = trim(ucwords(str_replace("_", " ", $vCampo))); $this->MontaConteudo(0, $e, $vCampox); } // linha em branco $this->MontaConteudo(1, 0, " "); $this->MontaConteudo(1, 1, " "); // Monta Colunas for ($excel_coluna = 0; $excel_coluna < $qtdColunas; $excel_coluna++) { // nome da coluna $nome_coluna = mysql_field_name($consTable, $excel_coluna); // Monta Linhas for ($i = 0; $i < $linReg; $i++) { //pega registros $valorCelula = mysql_result($consReg, $i, $nome_coluna); //linhas, começa depos do cabecario //$excel_linha = ($i + 2); $excel_linha = $i + 2; $this->MontaConteudo($excel_linha, $excel_coluna, $valorCelula); } // fecha for 'Linhas' } // fecha for 'Colunas' // Cria arquivo $this->GeraArquivo(); }
function getConfig() { global $conf_mysql_db; $query = "SELECT * FROM config WHERE 1 LIMIT 1;"; $result = mysql_query($query) or die("Cannot query {$query} !!!" . mysql_error()); $num_rows = mysql_num_rows($result); if ($num_rows != 1) { die("No config values in table !!!"); } $row = mysql_fetch_array($result); $fields = mysql_list_fields($conf_mysql_db, "config"); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { $field_name = mysql_field_name($fields, $i); $toto = "conf_" . $field_name; global ${$toto}; ${$toto} = $row["{$field_name}"]; } }
function metadata($table = "", $full = false) { $count = 0; $id = 0; $res = array(); /* * Due to compatibility problems with Table we changed the behavior * of metadata(); * depending on $full, metadata returns the following values: * * - full is false (default): * $result[]: * [0]["table"] table name * [0]["name"] field name * [0]["type"] field type * [0]["len"] field length * [0]["flags"] field flags * * - full is true * $result[]: * ["num_fields"] number of metadata records * [0]["table"] table name * [0]["name"] field name * [0]["type"] field type * [0]["len"] field length * [0]["flags"] field flags * ["meta"][field name] index of field named "field name" * This last one could be used if you have a field name, but no index. * Test: if (isset($result['meta']['myfield'])) { ... */ // if no $table specified, assume that we are working with a query // result if ($table) { $this->connect(); $id = mysql_list_fields($this->Database, $table); if (!$id) { $this->halt("Metadata query failed."); return false; } } else { $id = $this->Query_ID; if (!$id) { $this->halt("No query specified."); return false; } } $count = mysql_num_fields($id); // made this IF due to performance (one if is faster than $count if's) if (!$full) { for ($i = 0; $i < $count; $i++) { $res[$i]["table"] = mysql_field_table($id, $i); $res[$i]["name"] = mysql_field_name($id, $i); $res[$i]["type"] = mysql_field_type($id, $i); $res[$i]["len"] = mysql_field_len($id, $i); $res[$i]["flags"] = mysql_field_flags($id, $i); } } else { // full $res["num_fields"] = $count; for ($i = 0; $i < $count; $i++) { $res[$i]["table"] = mysql_field_table($id, $i); $res[$i]["name"] = mysql_field_name($id, $i); $res[$i]["type"] = mysql_field_type($id, $i); $res[$i]["len"] = mysql_field_len($id, $i); $res[$i]["flags"] = mysql_field_flags($id, $i); $res["meta"][$res[$i]["name"]] = $i; } } // free the result only if we were called on a table if ($table) { #mysql_free_result($id); $this->free(); } return $res; }
// or die ('I cannot connect to the database because: ' . mysql_error()); mysql_select_db($database); switch ($type) { case "export_csv_kws": $date_field = "timestamp"; $table = "kw_log"; break; case "export_csv_cost": $date_field = "int_date"; $table = "cost"; break; } $result = mysql_query("select * from {$table} WHERE `{$date_field}` >= '{$start_time}' AND `{$date_field}` <= '{$end_time}'"); $out = ''; // Get all fields names in table "name_list" in database "tutorial". $fields = mysql_list_fields($database, $table); // Count the table fields and put the value into $columns. $columns = mysql_num_fields($fields); // Put the name of all fields to $out. for ($i = 0; $i < $columns; $i++) { $l = mysql_field_name($fields, $i); $out .= '"' . $l . '",'; } $out .= "\n"; // Add all values in the table to $out. while ($l = mysql_fetch_array($result)) { for ($i = 0; $i < $columns; $i++) { $out .= '"' . $l["{$i}"] . '",'; } $out .= "\n"; }
function GetTableFields($tbname, $id = "me") { global $dsql; if (!$dsql->isInit) { $this->Init($this->pconnect); } $this->result[$id] = mysql_list_fields($this->dbName, $tbname, $this->linkID); }
function db_list_fields($database, $table, $dbh) { return mysql_list_fields($database, $table, $dbh); }
/** * Test mysql_list_fields * * @return boolean */ public function MySQL_List_Fields_Test() { // Select Db $this->_selectDb(); $query1 = mysql_list_fields(TEST_DB, TEST_TABLE); $query2 = $this->_object->mysql_list_fields(TEST_DB, TEST_TABLE); $list1 = array(); $list2 = array(); // Our object gives us num_rows, something that we can't do in mysql_* $cnt = $this->_object->mysql_num_rows($query2); $i = 0; while ($i < $cnt) { $list1[] = mysql_field_name($query1, $i); $i++; } $i = 0; while ($i < $cnt) { $list2[] = $this->_object->mysql_field_name($query2, $i); $i++; } return $list1 === $list2; }
<?php ob_start(); session_start(); include "includes/dbinfo.php"; include "session_check.php"; $sql = "select * from partner "; $rsSearchResults = mysql_query($sql) or die(mysql_error()); $out = ''; $fields = mysql_list_fields('user', 'partner'); $columns = mysql_num_fields($fields); // Put the name of all fields for ($i = 0; $i < $columns; $i++) { $fields_name = mysql_field_name($fields, $i); $out .= '"' . $fields_name . '",'; } $out .= "\n"; // Add all values in the table while ($list_values = mysql_fetch_array($rsSearchResults)) { for ($i = 0; $i < $columns; $i++) { $out .= '"' . $list_values["{$i}"] . '",'; } $out .= "\n"; } // Output to browser with appropriate mime type, you choose ;) //header("Content-type: text/csv"); //header("Content-type: application/csv"); header("Content-Disposition: attachment; filename=partner_table.xls"); header("Content-type: application/octet-stream"); header("Content-type: application/csv"); header("Content-type: application/xls");
} echo "</tr>\n"; } echo "</table></div><input type=submit name='brow' value='Browse'><b>Sort by\n<input type=text name=sort size=10 value='" . (isset($_POST['sort']) ? $_POST['sort'] : '') . "'>\nShow <input type=text size=5 value=" . (isset($_POST['br_st']) ? $_POST['br_st'] : $n[0]) . " name='br_st'>row(s) starting from<input type=text size=5 value=" . (isset($_POST['br_en']) ? $_POST['br_en'] : '0') . " name='br_en'></b>\n<input type=submit name=editr value=Edit>"; mysql_free_result($result); break; case 1: echo "<input type=submit name=push value=Run><br>\n<textarea cols=70% rows=8 name='querysql'>\n" . (!empty($_POST['querysql']) ? htmlspecialchars($_POST['querysql'], ENT_QUOTES) : (isset($_POST['table_sel']) ? "SELECT * FROM `" . $_POST['table_sel'] . "` WHERE 1" : null)) . "</textarea><br><br>\n"; if (!empty($_POST['querysql'])) { $result = mysql_query($_POST['querysql'], $connect) or print "<div style='background-color:red;'>" . mysql_error($connect) . "</div>"; echo "<div style='background-color:green;'>" . mysql_info($connect) . "</div>"; } break; case 2: echo "<div style='width:100%;height:550;overflow:auto;'><table>\n"; $fields = mysql_list_fields($_POST['db'], $_POST['table_sel'], $connect); for ($i = 0; $i < mysql_num_fields($fields); $i++) { echo "<tr><td bgcolor=#DBDCDD><b>" . mysql_field_name($fields, $i) . '</td><td bgcolor=#B9C3D7>' . mysql_field_type($fields, $i) . '(' . mysql_field_len($fields, $i) . ")</b></td><td>" . (mysql_field_len($fields, $i) < 40 ? "<input type='text' name='ed_key:" . mysql_field_name($fields, $i) . "' value='' size=40>" : "<textarea name='ed_key:" . mysql_field_name($fields, $i) . "' cols=31 rows=7></textarea>") . "</td></tr>\n"; } echo "</table></div><input type=hidden name=insert value=1><input type=submit name=ed_save value=Insert>"; break; case 3: if (!isset($_POST['back'])) { echo '<table height=250 align="center"><TR><TD> <table height=100%> <tr><td bgcolor="#A8B8F1" width="100" height="20"><b> Export as</b></td></tr> <tr><td bgcolor="#D0E0FF" width="100" height="20"><input type=radio Name="as" value="0" checked><b> SQL</b></td></tr> <tr><td bgcolor="#D0E0FF" width="100" height="20"><input type=radio Name="as" value="1"><b> CSV</b></td></tr> <tr><td height=100%></td></tr> </table></TD><td> <table width="140" height=100%>
function GetTableFields($table) { if (!array_key_exists($table, $this->column_cache)) { $this->column_cache[$table] = array(); $this->DoConnect(); $rs = @mysql_list_fields($this->DBName, $table, $this->db_Conn); if ($rs > 0) { $intNumFields = mysql_num_fields($rs); while (--$intNumFields >= 0) { $ar = array("NAME" => mysql_field_name($rs, $intNumFields), "TYPE" => mysql_field_type($rs, $intNumFields)); $this->column_cache[$table][$ar["NAME"]] = $ar; } } } return $this->column_cache[$table]; }
/* @var $model AddRowsForm */ /* @var $form CActiveForm */ ?> <h1>Add Rows</h1> <div class="form"> <?php $form = $this->beginWidget('CActiveForm', array('id' => 'add-rows-form', 'enableClientValidation' => true, 'clientOptions' => array('validateOnSubmit' => true))); ?> <div class="additional_cols"> <div class="cols_add_in"> <div class="cols_title">Дополнительные поля: </div> <?php $fields = mysql_list_fields('test', 'article'); $columns = mysql_num_fields($fields); for ($i = 0; $i < $columns; $i++) { echo '<div class="row">' . $form->checkBox($model, mysql_field_name($fields, $i)) . $form->labelEx($model, mysql_field_name($fields, $i)) . '</div>'; } ?> <a class="additional_cols_exit" href="#">Закрыть</a> </div> </div> <div class="row buttons"> <?php echo CHtml::submitButton('Additional'); ?> </div>
/** ** Fetch a list of field names. ** **/ function db_list_fields($table = '') { if ($this->_db_name == '' or $table == '') { return false; } return mysql_list_fields($this->_db_name, $table); }
*/ $tbl_result = mysql_list_tables($db); $tbl_result_cnt = mysql_num_rows($tbl_result); $i = 0; $k = 0; // The tables list sent by a previously submitted form if (!empty($TableList)) { for ($x = 0; $x < sizeof($TableList); $x++) { $tbl_names[$TableList[$x]] = ' selected="selected"'; } } // end if // The tables list gets from MySQL while ($i < $tbl_result_cnt) { $tbl = mysql_tablename($tbl_result, $i); $fld_results = mysql_list_fields($db, $tbl); $fld_results_cnt = mysql_num_fields($fld_results); $j = 0; if (empty($tbl_names[$tbl]) && !empty($TableList)) { $tbl_names[$tbl] = ''; } else { $tbl_names[$tbl] = ' selected="selected"'; } // end if // The fields list per selected tables if ($tbl_names[$tbl] == ' selected="selected"') { $fld[$k++] = PMA_backquote($tbl) . '.*'; while ($j < $fld_results_cnt) { $fld[$k] = mysql_field_name($fld_results, $j); $fld[$k] = PMA_backquote($tbl) . '.' . PMA_backquote($fld[$k]); $k++;
<?php /* $Id: tbl_select.php,v 1.17 2001/08/29 12:00:07 loic1 Exp $ */ /** * Gets some core libraries */ require './grab_globals.inc.php'; require './lib.inc.php'; /** * Not selection yet required -> displays the selection form */ if (!isset($param) || $param[0] == '') { include './header.inc.php'; $result = @mysql_list_fields($db, $table); if (!$result) { mysql_die('', 'mysql_list_fields(' . $db . ', ' . $table . ')'); } else { // Gets the list and number of fields $fields_count = mysql_num_fields($result); for ($i = 0; $i < $fields_count; $i++) { $fields_list[] = mysql_field_name($result, $i); $fields_type[] = mysql_field_type($result, $i); $fields_len[] = mysql_field_len($result, $i); } ?> <form method="post" action="tbl_select.php"> <input type="hidden" name="server" value="<?php echo $server; ?> " /> <input type="hidden" name="lang" value="<?php
/** * Returns information about a table or a result set * * @param object|string $result DB_result object from a query or a * string containing the name of a table. * While this also accepts a query result * resource identifier, this behavior is * deprecated. * @param int $mode a valid tableInfo mode * * @return array an associative array with the information requested. * A DB_Error object on failure. * * @see DB_common::tableInfo() */ function tableInfo($result, $mode = null) { if (is_string($result)) { /* * Probably received a table name. * Create a result resource identifier. */ $id = @mysql_list_fields($this->dsn['database'], $result, $this->connection); $got_string = true; } elseif (isset($result->result)) { /* * Probably received a result object. * Extract the result resource identifier. */ $id = $result->result; $got_string = false; } else { /* * Probably received a result resource identifier. * Copy it. * Deprecated. Here for compatibility only. */ $id = $result; $got_string = false; } if (!is_resource($id)) { return $this->mysqlRaiseError(DB_ERROR_NEED_MORE_DATA); } if ($this->options['portability'] & DB_PORTABILITY_LOWERCASE) { $case_func = 'strtolower'; } else { $case_func = 'strval'; } $count = @mysql_num_fields($id); $res = array(); if ($mode) { $res['num_fields'] = $count; } for ($i = 0; $i < $count; $i++) { $res[$i] = array('table' => $case_func(@mysql_field_table($id, $i)), 'name' => $case_func(@mysql_field_name($id, $i)), 'type' => @mysql_field_type($id, $i), 'len' => @mysql_field_len($id, $i), 'flags' => @mysql_field_flags($id, $i)); if ($mode & DB_TABLEINFO_ORDER) { $res['order'][$res[$i]['name']] = $i; } if ($mode & DB_TABLEINFO_ORDERTABLE) { $res['ordertable'][$res[$i]['table']][$res[$i]['name']] = $i; } } // free the result only if we were called on a table if ($got_string) { @mysql_free_result($id); } return $res; }
//用户密码 $cfg_database = "magic"; //数据库名 $Connect = mysql_connect($cfg_host, $cfg_username, $cfg_password); mysql_select_db($cfg_database, $Connect); $Sql = "show Tables from " . $cfg_database; $Query = mysql_query($Sql, $Connect); echo "<select name=TableName onchange=\"location.href='?TableName='+this[selectedIndex].value;\">"; echo "<option value=''>select</option>"; while ($Table = mysql_fetch_array($Query)) { echo "<option value=" . $Table[0] . ">" . $Table[0] . "</option>"; } echo "</select><BR>"; $TableName = @$_REQUEST['TableName']; if ($TableName) { $T = mysql_list_fields($cfg_database, $TableName, $Connect); $Fields = mysql_num_fields($T); $Insert = "\"insert into " . $TableName . "("; $Update = "\"update " . $TableName . " set "; $temp = ""; $Read = "\t\t\t\$" . $TableName . " = \$db->get_row(\"SELECT * FROM `" . $TableName . "` WHERE id =\".\$id)\n\t\t\tif(\$" . $TableName . ")\n\t\t\t{\n"; $Lang = ""; $Post = ""; $list2json = "\$rows=\"'Rows':[\";\nforeach (\$" . $TableName . "s as \$" . $TableName . ") \n{\n\t\$rows.=\"{"; for ($i = 0; $i < $Fields; $i++) { $f = mysql_field_name($T, $i); if ($i == 0) { $Insert = $Insert . $f; $Update = $Update . $f . "=\".\$" . $f; $temp = "'\".\$" . $f; $Read .= "\t\t\t\t\$" . $f . "=\$" . $TableName . "->" . $f . ";\n";
function Table($strtable) { global $DB_NAME; // get global variables $this->table=$strtable; $this->root=substr($strtable, 0, -1); // remove last's' // get field name & type from DB and format empty values $fields=mysql_list_fields($DB_NAME, $strtable); $n=mysql_num_fields($fields); $rs=mysql_query('SELECT * FROM '.$strtable); for($i=0; $i<$n; $i++ ){ // mysql_field_xxx record starts at 0 $name=mysql_field_name($rs, $i); $type=mysql_field_type($rs, $i); $this->field_value[$name]=is_num_type($type)?0:''; // set empty values in correct format $this->field_type[$name]=$type; // set field type ('string', 'real', 'int' or 'blob') $this->$name=$this->field_value[$name]; } mysql_free_result($rs); // get type array $sql='SELECT type_value, type_short type FROM types '.'WHERE type_category=\''.$this->root.'\' ORDER BY type_ref'; $rs=mysql_query($sql); $row=mysql_fetch_assoc($rs); do{ $this->type_val[$row['type_short']]=$row['type_value']; $this->type_ref[$row['type_value']]=$row['type_short']; }while ($row=mysql_fetch_assoc($rs)); mysql_free_result($rs); // set type label $str=$this->root.'_type_label'; $this->$str=$this->type_ref[$this->field_value[$this->root.'_type']]; }