【问题标题】:mysql_query("SHOW DATABASES") doesn't show my databasemysql_query("SHOW DATABASES") 不显示我的数据库
【发布时间】:2014-01-31 05:28:53
【问题描述】:

我正在使用 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 等连接到数据库...但是我必须在我的 PC 上重新安装 xampp 和 dreamweaver 以及所有内容,然后必须下载数据库和整个站点,因为我需要在本地测试一些东西。我暂时无法更改 mysql 查询并使用 PDO,也许以后有时间时。

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

【问题讨论】:

  • 使用 PDO 因为 mysql_* 已被弃用。
  • 打印什么:echo ini_get('mysql.default_username'), ini_get('mysql.default_password');?
  • 应该是mysql_fetch_array()
  • @iBrazilian2 PDO 打印了我的数据库。我想我会尝试通过 PDO 而不是 mysql_* 进行连接...不过它以前可以工作,几个月前我换电脑之前。
  • @DanFromGermany 什么都没有打印出来 :( Mr.Alien 显示相同的结果

标签: php mysql database show


【解决方案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/>';
}

【讨论】:

  • 它打印这个:连接警告:mysql_fetch_row() 期望参数 1 是资源,在第 13 行的 C:\xampp\htdocs_____________________.php 中给出的对象
  • 试试这个或者使用mysqli_fetch_array()
  • mysqli_fetch_array() 有效!谢谢詹妮弗。问题解决了,现在解决其他问题:P 干杯
  • Martin Bean 的进步真的很大。
【解决方案2】:

在cmets中你说你的默认配置是空的,所以当你连接到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/>';
}

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

【讨论】:

  • 传递用户名 (root) 非常有效。哇,我不知道我什么都没有连接,这就是为什么它只显示了两个数据库。我实际上以为我正在连接到root。非常感谢。 @JenniferDias 解决方案也有效。
猜你喜欢
  • 2016-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 2016-04-22
  • 2014-11-10
  • 1970-01-01
  • 2020-05-26
相关资源
最近更新 更多