⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 database_interface.lib.php

📁 phpMyAdmin图形界面化操作,我已经配置好了,只要把解要压缩后的文件放到站点下就可以用了
💻 PHP
📖 第 1 页 / 共 4 页
字号:
            break;        case 'BOTH' :        default :            $fetch_function = 'PMA_DBI_fetch_array';            break;    }    $row = $fetch_function($result);    PMA_DBI_free_result($result);    return $row;}/** * returns all rows in the resultset in one array * * <code> * $sql = 'SELECT * FROM `user`'; * $users = PMA_DBI_fetch_result($sql); * // produces * // $users[] = array('id' => 123, 'name' => 'John Doe') * * $sql = 'SELECT `id`, `name` FROM `user`'; * $users = PMA_DBI_fetch_result($sql, 'id'); * // produces * // $users['123'] = array('id' => 123, 'name' => 'John Doe') * * $sql = 'SELECT `id`, `name` FROM `user`'; * $users = PMA_DBI_fetch_result($sql, 0); * // produces * // $users['123'] = array(0 => 123, 1 => 'John Doe') * * $sql = 'SELECT `id`, `name` FROM `user`'; * $users = PMA_DBI_fetch_result($sql, 'id', 'name'); * // or * $users = PMA_DBI_fetch_result($sql, 0, 1); * // produces * // $users['123'] = 'John Doe' * * $sql = 'SELECT `name` FROM `user`'; * $users = PMA_DBI_fetch_result($sql); * // produces * // $users[] = 'John Doe' * * $sql = 'SELECT `group`, `name` FROM `user`' * $users = PMA_DBI_fetch_result($sql, array('group', null), 'name'); * // produces * // $users['admin'][] = 'John Doe' * * $sql = 'SELECT `group`, `name` FROM `user`' * $users = PMA_DBI_fetch_result($sql, array('group', 'name'), 'id'); * // produces * // $users['admin']['John Doe'] = '123' * </code> * * @uses    is_string() * @uses    is_int() * @uses    PMA_DBI_try_query() * @uses    PMA_DBI_num_rows() * @uses    PMA_DBI_num_fields() * @uses    PMA_DBI_fetch_row() * @uses    PMA_DBI_fetch_assoc() * @uses    PMA_DBI_free_result() * @param   string|mysql_result $result query or mysql result * @param   string|integer      $key    field-name or offset *                                      used as key for array * @param   string|integer      $value  value-name or offset *                                      used as value for array * @param   resource            $link   mysql link * @param   mixed               $options * @return  array               resultrows or values indexed by $key */function PMA_DBI_fetch_result($result, $key = null, $value = null,    $link = null, $options = 0){    $resultrows = array();    if (is_string($result)) {        $result = PMA_DBI_try_query($result, $link, $options);    }    // return empty array if result is empty or false    if (! $result) {        return $resultrows;    }    $fetch_function = 'PMA_DBI_fetch_assoc';    // no nested array if only one field is in result    if (null === $key && 1 === PMA_DBI_num_fields($result)) {        $value = 0;        $fetch_function = 'PMA_DBI_fetch_row';    }    // if $key is an integer use non associative mysql fetch function    if (is_int($key)) {        $fetch_function = 'PMA_DBI_fetch_row';    }    if (null === $key && null === $value) {        while ($row = $fetch_function($result)) {            $resultrows[] = $row;        }    } elseif (null === $key) {        while ($row = $fetch_function($result)) {            $resultrows[] = $row[$value];        }    } elseif (null === $value) {        if (is_array($key)) {            while ($row = $fetch_function($result)) {                $result_target =& $resultrows;                foreach ($key as $key_index) {                    if (null === $key_index) {                        $result_target =& $result_target[];                        continue;                    }                    if (! isset($result_target[$row[$key_index]])) {                        $result_target[$row[$key_index]] = array();                    }                    $result_target =& $result_target[$row[$key_index]];                }                $result_target = $row;            }        } else {            while ($row = $fetch_function($result)) {                $resultrows[$row[$key]] = $row;            }        }    } else {        if (is_array($key)) {            while ($row = $fetch_function($result)) {                $result_target =& $resultrows;                foreach ($key as $key_index) {                    if (null === $key_index) {                        $result_target =& $result_target[];                        continue;                    }                    if (! isset($result_target[$row[$key_index]])) {                        $result_target[$row[$key_index]] = array();                    }                    $result_target =& $result_target[$row[$key_index]];                }                $result_target = $row[$value];            }        } else {            while ($row = $fetch_function($result)) {                $resultrows[$row[$key]] = $row[$value];            }        }    }    PMA_DBI_free_result($result);    return $resultrows;}/** * return default table engine for given database * * @return  string  default table engine */function PMA_DBI_get_default_engine(){    return PMA_DBI_fetch_value('SHOW VARIABLES LIKE \'storage_engine\';', 0, 1);}/** * Get supported SQL compatibility modes * * @return  array   supported SQL compatibility modes */function PMA_DBI_getCompatibilities(){    $compats = array('NONE');    $compats[] = 'ANSI';    $compats[] = 'DB2';    $compats[] = 'MAXDB';    $compats[] = 'MYSQL323';    $compats[] = 'MYSQL40';    $compats[] = 'MSSQL';    $compats[] = 'ORACLE';    // removed; in MySQL 5.0.33, this produces exports that    // can't be read by POSTGRESQL (see our bug #1596328)    //$compats[] = 'POSTGRESQL';    $compats[] = 'TRADITIONAL';    return $compats;}/** * returns warnings for last query * * @uses    $GLOBALS['userlink'] * @uses    PMA_DBI_fetch_result() * @param   resource mysql link  $link   mysql link resource * @return  array   warnings */function PMA_DBI_get_warnings($link = null){    if (empty($link)) {        if (isset($GLOBALS['userlink'])) {            $link = $GLOBALS['userlink'];        } else {            return array();        }    }    return PMA_DBI_fetch_result('SHOW WARNINGS', null, null, $link);}/** * returns true (int > 0) if current user is superuser * otherwise 0 * * @uses    $_SESSION['is_superuser'] for caching * @uses    $GLOBALS['userlink'] * @uses    $GLOBALS['server'] * @uses    PMA_DBI_try_query() * @uses    PMA_DBI_QUERY_STORE * @return  integer  $is_superuser */function PMA_isSuperuser(){    if (PMA_cacheExists('is_superuser', true)) {        return PMA_cacheGet('is_superuser', true);    }    // with mysql extension, when connection failed we don't have    // a $userlink    if (isset($GLOBALS['userlink'])) {        $r = (bool) PMA_DBI_try_query('SELECT COUNT(*) FROM mysql.user', $GLOBALS['userlink'], PMA_DBI_QUERY_STORE);        PMA_cacheSet('is_superuser', $r, true);    } else {        PMA_cacheSet('is_superuser', false, true);    }    return PMA_cacheGet('is_superuser', true);}/** * returns an array of PROCEDURE or FUNCTION names for a db * * @uses    PMA_DBI_free_result() * @param   string              $db     db name * @param   string              $which  PROCEDURE | FUNCTION * @param   resource            $link   mysql link * * @return  array   the procedure names or function names */function PMA_DBI_get_procedures_or_functions($db, $which, $link = null){    $shows = PMA_DBI_fetch_result('SHOW ' . $which . ' STATUS;', null, null, $link);    $result = array();    foreach ($shows as $one_show) {        if ($one_show['Db'] == $db && $one_show['Type'] == $which) {            $result[] = $one_show['Name'];        }    }    return($result);}/** * returns the definition of a specific PROCEDURE, FUNCTION or EVENT * * @uses    PMA_DBI_fetch_value() * @param   string              $db     db name * @param   string              $which  PROCEDURE | FUNCTION | EVENT * @param   string              $name  the procedure|function|event name * @param   resource            $link   mysql link * * @return  string              the definition */function PMA_DBI_get_definition($db, $which, $name, $link = null){    $returned_field = array(        'PROCEDURE' => 'Create Procedure',         'FUNCTION'  => 'Create Function',        'EVENT'     => 'Create Event'    );    $query = 'SHOW CREATE ' . $which . ' ' . PMA_backquote($db) . '.' . PMA_backquote($name);    return(PMA_DBI_fetch_value($query, 0, $returned_field[$which]));}/** * returns details about the TRIGGERs of a specific table * * @uses    PMA_DBI_fetch_result() * @param   string              $db     db name * @param   string              $table  table name * * @return  array               information about triggers (may be empty) */function PMA_DBI_get_triggers($db, $table){    $result = array();    // Note: in http://dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html    // their example uses WHERE TRIGGER_SCHEMA='dbname' so let's use this    // instead of WHERE EVENT_OBJECT_SCHEMA='dbname'    $triggers = PMA_DBI_fetch_result("SELECT TRIGGER_SCHEMA, TRIGGER_NAME, EVENT_MANIPULATION, ACTION_TIMING, ACTION_STATEMENT, EVENT_OBJECT_SCHEMA, EVENT_OBJECT_TABLE FROM information_schema.TRIGGERS WHERE TRIGGER_SCHEMA= '" . PMA_sqlAddslashes($db,true) . "' and EVENT_OBJECT_TABLE = '" . PMA_sqlAddslashes($table, true) . "';");    if ($triggers) {        $delimiter = '//';        foreach ($triggers as $trigger) {            $one_result = array();            $one_result['name'] = $trigger['TRIGGER_NAME'];            $one_result['action_timing'] = $trigger['ACTION_TIMING'];            $one_result['event_manipulation'] = $trigger['EVENT_MANIPULATION'];            $one_result['full_trigger_name'] = PMA_backquote($trigger['TRIGGER_SCHEMA']) . '.' . PMA_backquote($trigger['TRIGGER_NAME']);            $one_result['drop'] = 'DROP TRIGGER IF EXISTS ' . $one_result['full_trigger_name'];            $one_result['create'] = 'CREATE TRIGGER ' . $one_result['full_trigger_name'] . ' ' . $trigger['ACTION_TIMING']. ' ' . $trigger['EVENT_MANIPULATION'] . ' ON ' . PMA_backquote($trigger['EVENT_OBJECT_SCHEMA']) . '.' . PMA_backquote($trigger['EVENT_OBJECT_TABLE']) . "\n" . ' FOR EACH ROW ' . $trigger['ACTION_STATEMENT'] . "\n" . $delimiter . "\n";            $result[] = $one_result;        }    }    return($result);}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -