曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4002|回复: 0
打印 上一主题 下一主题

[数据库] mysql_list_dbs() -- 列出可用数据库

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2012-6-20 23:08:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
mysql_list_dbs() 函数可用来列出可用的数据库,语法如下:
[Plain Text] 纯文本查看 复制代码
resource mysql_list_dbs([ resource $link_identifier = NULL] )

其中参数 $link_identifier 是资源标识符。当函数执行成功后,返回值是一个资源类型,然后可以将该返回值传入到mysql_fetch_object() 函数(或 mysql_fetch_assoc() 函数)中作为参数,从而获得具体的数据库名;如果函数执行失败,那么返回 FALSE 。

测试代码:
[PHP] 纯文本查看 复制代码
<?php   
        require_once("dbfuncs.php");

        $link = create_connection();

        $db_list = mysql_list_dbs($link);

        while ($row = mysql_fetch_object($db_list)) {
                echo $row->Database . "<br>";                   
        }                                                               
        echo "-----------------------------" . "<br>";

        mysql_data_seek($db_list, 0);

        while ($row = mysql_fetch_assoc($db_list)) {
                echo $row['Database'] . "<br>";
        }
?>

运行输出:
information_schema
mysql
performance_schema
phpbb
phpbb3
phpwind
pw87
test
ultrax
vpn
-----------------------------
information_schema
mysql
performance_schema
phpbb
phpbb3
phpwind
pw87
test
ultrax
vpn
上面程序中注意两点:
1. 对于 mysql_list_dbs() 的返回值,不管是mysql_fetch_object() 函数还是 mysql_fetch_assoc() 函数都都可以将其当作参数使用。这两个函数的不同是,前者返回的是一个对象类型,后者返回的是一个数组类型。

2. 在使用 mysql_fetch_object() 函数遍历了所有记录行后,数据指针已经移到底部,因此如果还想接着利用 mysql_fetch_assoc() 从头再获取一遍数据,那么就使用 mysql_data_seek($db_list, 0); 函数将数据指针移动到头部,第一条记录对应的编号为 0 。

程序中所用到的 dbfuncs.php 的内容为:
[PHP] 纯文本查看 复制代码
<?php
function create_connection()
{
    $link = mysql_connect("localhost", "root", "mypassword")
        or die("Can not connect to database<br><br>" . mysql_error());

    mysql_query("SET NAMES utf8");
    return $link;
}

function execute_sql($database, $sql, $link)
{
    $db_selected = mysql_select_db($database, $link)
        or die("Select database failed<br><br>" . mysql_error($link));

    $result = mysql_query($sql, $link);

    return $result;
}
?>
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-21 16:41 , Processed in 0.074021 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表