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

📄 database_interface.lib.php

📁 架設ROSE私服必備之物 ROSE數據庫
💻 PHP
📖 第 1 页 / 共 4 页
字号:
    if ( is_string( $result ) ) {        $result = PMA_DBI_try_query( $result, $link, $options | PMA_DBI_QUERY_STORE );    }    // return false if result is empty or false    // or requested row is larger than rows in result    if ( PMA_DBI_num_rows( $result ) < ( $row_number + 1 ) ) {        return $value;    }    // if $field is an integer use non associative mysql fetch function    if ( is_int( $field ) ) {        $fetch_function = 'PMA_DBI_fetch_row';    } else {        $fetch_function = 'PMA_DBI_fetch_assoc';    }    // get requested row    for ( $i = 0; $i <= $row_number; $i++ ) {        $row = $fetch_function( $result );    }    PMA_DBI_free_result( $result );    // return requested field    if ( isset( $row[$field] ) ) {        $value = $row[$field];    }    unset( $row );    return $value;}/** * returns only the first row from the result * * <code> * $sql = 'SELECT * FROM `user` WHERE `id` = 123'; * $user = PMA_DBI_fetch_single_row( $sql ); * // produces * // $user = array( 'id' => 123, 'name' => 'John Doe' ) * </code> * * @uses    is_string() * @uses    PMA_DBI_try_query() * @uses    PMA_DBI_num_rows() * @uses    PMA_DBI_fetch_row() * @uses    PMA_DBI_fetch_assoc() * @uses    PMA_DBI_fetch_array() * @uses    PMA_DBI_free_result() * @param   string|mysql_result $result query or mysql result * @param   string              $type   NUM|ASSOC|BOTH *                                      returned array should either numeric *                                      associativ or booth * @param   resource            $link   mysql link * @param   mixed               $options * @return  array|boolean       first row from result *                              or false if result is empty */function PMA_DBI_fetch_single_row( $result, $type = 'ASSOC', $link = null, $options = 0 ) {    if ( is_string( $result ) ) {        $result = PMA_DBI_try_query( $result, $link, $options | PMA_DBI_QUERY_STORE );    }    // return null if result is empty or false    if ( ! PMA_DBI_num_rows( $result ) ) {        return false;    }    switch ( $type ) {        case 'NUM' :            $fetch_function = 'PMA_DBI_fetch_row';            break;        case 'ASSOC' :            $fetch_function = 'PMA_DBI_fetch_assoc';            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' * </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 ( ! 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 ( ! 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(){    if ( PMA_MYSQL_INT_VERSION > 50002 ) {        return PMA_DBI_fetch_value( 'SHOW VARIABLES LIKE \'storage_engine\';', 0, 1 );    } else {        return PMA_DBI_fetch_value( 'SHOW VARIABLES LIKE \'table_type\';', 0, 1 );    }}/** * Get supported SQL compatibility modes * * @return  array   supported SQL compatibility modes */function PMA_DBI_getCompatibilities(){    if (PMA_MYSQL_INT_VERSION < 40100) {        return array();    }    $compats = array('NONE');    if (PMA_MYSQL_INT_VERSION >= 40101) {        $compats[] = 'ANSI';        $compats[] = 'DB2';        $compats[] = 'MAXDB';        $compats[] = 'MYSQL323';        $compats[] = 'MYSQL40';        $compats[] = 'MSSQL';        $compats[] = 'ORACLE';        $compats[] = 'POSTGRESQL';        if (PMA_MYSQL_INT_VERSION >= 50002) {            $compats[] = 'TRADITIONAL';        }    }    return $compats;}/** * returns true (int > 0) if current user is superuser * otherwise 0 * * @return integer  $is_superuser */function PMA_isSuperuser() {    return PMA_DBI_try_query( 'SELECT COUNT(*) FROM mysql.user',        $GLOBALS['userlink'], PMA_DBI_QUERY_STORE );}/** * 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 or FUNCTION  * * @uses    PMA_DBI_fetch_value() * @param   string              $db     db name * @param   string              $which  PROCEDURE | FUNCTION  * @param   string              $proc_or_function_name  the procedure name or function name * @param   resource            $link   mysql link * * @return  string              the procedure's or function's definition  */function PMA_DBI_get_procedure_or_function_def($db, $which, $proc_or_function_name, $link = null) {    $returned_field = array('PROCEDURE' => 'Create Procedure', 'FUNCTION' => 'Create Function');    $query = 'SHOW CREATE ' . $which . ' ' . PMA_backquote($db) . '.' . PMA_backquote($proc_or_function_name);    return(PMA_DBI_fetch_value( $query, 0, $returned_field[$which]));}?>

⌨️ 快捷键说明

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