mysql_list_dbs

(PHP 4, PHP 5)

mysql_list_dbs 列出 MySQL 服务器中所有的数据库

说明

mysql_list_dbs ( resource $link_identifier = ? ) : resource

mysql_list_dbs() 将返回一个结果指针,包含了当前 MySQL 进程中所有可用的数据库。用 mysql_tablename() 函数来遍历此结果指针,或者任何使用结果表的函数,例如 mysql_fetch_array()

Example #1 mysql_list_dbs() 例子

<?php
$link 
mysql_connect('localhost''mysql_user''mysql_password');
$db_list mysql_list_dbs($link);

while (
$row mysql_fetch_object($db_list)) {
    echo 
$row->Database "\n";
}
?>

以上例子将产生如下输出:

database1
database2
database3
...

Note:

以上代码用起来和 mysql_fetch_row() 或类似函数一样简单。

为向下兼容仍然可以使用 mysql_listdbs(),但反对这样做。

参见 mysql_db_name()

User Contributed Notes

jeff at forerunnertv dot com 06-Jun-2020 04:17
There is no direct equivalent of mysql_list_dbs() as a mysqli_list_dbs() command, but you can query "show databases" instead.

So this:

$db_list = mysql_list_dbs($connect);  //mysql

Is equivalent to this:

$db_list = mysqli_query($connect, "SHOW DATABASES"); //mysqli
busilezas at gmail dot com 24-Feb-2015 11:49
The example is wrong in Spanish version.

ERROR:  mysql_fetch_assoc() expects parameter 1 to be resource, null given in XXX on line 5
while ($fila = mysql_fetch_assoc($res)) {

OK.
while ($fila = mysql_fetch_assoc($resultado)) {
theriault 03-Jul-2012 09:46
Another alternative to this function is:

SQL Query: SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA
matjung at hotmail dot com 27-Feb-2010 02:30
The result pointer contains only the databases for which the mysql_user has the select priviledge granted.