mysql_query(“SHOW DATABASES”)不显示我的数据库

时间:2014-01-12 12:56:23

标签: php mysql database show

我正在使用xampp测试本地页面。搜索如何修复“没有数据库选择”mysql错误导致我测试这个:

mysql_connect('localhost') or die ("Connect error");

$res = mysql_query("SHOW DATABASES");
while ($row = mysql_fetch_row($res))
{
    echo $row[0], '<br/>';
}

但该查询仅显示两个结果:“information_schema”和“test”。我不明白因为phpMyAdmin我可以看到所有这些数据库:

cdcol,information_schema,mysql,performance_schema,phpmyadmin,test,xxxxxxxx_db(我创建的那个)和webauth

并且(在phpMyAdmin上)我可以看到root拥有这个数据库的权限。 Root没有密码。

提前致谢。


编辑:

我有一个实际的网站在线,我使用mysql_connect等连接到数据库...但我不得不重新安装xampp和dreamweaver以及我的电脑上的所有内容然后不得不下载数据库和整个网站因为我需要在本地测试一些东西。我现在无法改变mysql查询并使用PDO,也许以后我有时间。

我的主要问题是连接,它不起作用,它打印“没有选择数据库”。我不知道为什么它找不到我的xxxxxxxx_db数据库。

2 个答案:

答案 0 :(得分:1)

请试试这个:

$link = mysqli_connect('localhost', 'root', '');

if ($res = mysqli_query($link, 'SHOW DATABASES')) {
    echo 'Connected.';
} else {
    echo 'Error occurred', mysqli_error($link);
}

while ($row = mysqli_fetch_row($res)) {
    echo $row[0], '<br/>';
}

答案 1 :(得分:1)

在评论中你说你的默认配置是空的,所以当你连接到mysql时,你必须将用户名传递给函数:

$connection = mysql_connect('localhost', 'root', '') or die ("Connect error");

您还应该将connectino资源保存在变量中并将其传递给查询:

$res = mysql_query("SHOW DATABASES", $connection);
while ($row = mysql_fetch_row($res))
{
    echo $row[0], '<br/>';
}

如果你不能重写所有的陈述,那么,你迟早会遇到更多麻烦。