1

这听起来很容易解决,但我已经研究了一段时间。

Database Error: Unable to connect to the database:Could not connect to MySQL

我必须制作 Joomla 的本地副本以进行备份和更改,这样我才不会弄乱实时站点。

我通过 FTP 从实时站点上抓取了所有文件。做了一个数据库转储。将数据库放在我的本地机器上,将 Joomla 文件复制到我的服务器根目录的子文件夹中。更改了配置变量以适应 PHP、Mysql、Apache 的当前设置。

现在我输入了一个 test.php,它连接并查询了数据库。

$db = mysql_connect("localhost","root","sunshine") or die ('Unable to connect to Database!');
mysql_select_db("iweb");

$query = "SELECT * FROM jos_content LIMIT 0 , 30";
$results = mysql_query($query);
while($row = mysql_fetch_assoc($results)){
    echo '<br>'.$row['title'];
}

但是,当我将相同的数据库凭据放入 configuration.php 时,它会出现上述错误。

我一直在查看 .htaccess 并没有找到任何东西。

任何人都知道这里发生了什么?

Windows XP Professional Box 上的 Joomla 1.5.4、Apache 2.2.X PHP 5.2.X。

4

4 回答 4

1

尝试 127.0.0.1 而不是 localhost。它是一样的,但有时(在我的配置中也是如此)只有 ip 工作正常。

于 2012-01-03T15:17:03.520 回答
0

只需更换

" var $dbtype = 'mysql'; "

"var $dbtype = 'mysqli';"

在全局配置中。

我认为它有效。

于 2011-07-11T09:23:52.563 回答
0

您不需要使用手动连接到数据库,mysql_connect因为 joomla 使用自己的机制连接到数据库。您需要做的就是在 joomla 安装根目录中的configuration.php文件中指定 db 设置。完成此操作后,您可以立即运行查询,例如,这就是您需要的:

$query = "SELECT * FROM jos_content LIMIT 0 , 30";
$results = mysql_query($query);
while($row = mysql_fetch_assoc($results)){
    echo '<br>'.$row['title'];
}

但是,当我将相同的数据库凭据放入 configuration.php 时,它会出现上述错误。

确保:

  • 您指定正确的数据库设置
  • Joomla 可以读取配置文件,请检查其权限。
于 2010-02-22T11:23:27.300 回答
0

如果您仍然遇到此问题,最简单的解决方案是在您的实时服务器上安装JoomlaPack以备份所有内容。将 zip 文件下载到本地服务器,解压缩文件,将 Web 浏览器指向解压缩的文件夹,然后按照说明进行操作。如果您要在实时服务器和本地服务器之间来回移动,这是一个必备程序。

于 2010-02-22T11:18:35.403 回答