2016-03-10 113 views
0

我想列出我所有的数据库。但我只返回的信息架构和另外一个表。我检查了我的用户设置/权限在mysql和我有机会获得的一切。我怎样才能恢复所有数据库mysql不显示所有数据库

这里是我使用的代码:

$set = mysql_query('SHOW DATABASES;'); 
$dbs = array(); 
while($db = mysql_fetch_row($set)) $dbs[] = $db[0]; echo implode('<br/>', $dbs); 
+1

检查没有行之前抓取行,停止使用mysql_ *的过时,在新版本关闭。 – devpro

+1

更好的选择,'select * from information_schema.schemata'。 –

+0

代码格式提示:请在你的while语句周围使用括号 – Terence

回答

1

正如在评论中指出的,你应该开始使用mysqli而不是mysql。

这应该不过解决您的问题:

<?php 

$link = mysqli_connect("localhost", "mysql_username", "mysql_password"); 

/* check connection */ 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$res = mysqli_query($link, "SHOW DATABASES"); 

while ($row = mysqli_fetch_assoc($res)) { 
    var_dump($row['Database']); 
}