【发布时间】:2016-02-07 15:02:58
【问题描述】:
我阅读了很多类似的问题,但没有找到明确的答案。我的问题也与那些不同,因为直到我一小时前关闭系统之前一切正常。所以我在一个单独的问题中再次发布我的问题。
我在 Linux(Ubuntu 14.04)上运行 Xampp,虽然一切正常,直到我关闭它一小时后,它突然开始抛出这个错误。我没有更改任何文件中的任何代码行或更改任何权限或在 Linux 中运行任何未知命令:
Connection failed: SQLSTATE[HY000] [1049] Unknown database 'user_list'
Notice: Undefined variable: connect in /opt/lampp/htdocs/Project1_July2015/verify_blacklisted.php on line 15
Fatal error: Call to a member function prepare() on null in /opt/lampp/htdocs/Project1_July2015/verify_blacklisted.php on line 15
我已经使用连接到我的数据库“user_list”的变量“connect”测试了 PDO 连接,该数据库确实存在。它确实正确检索数据。当我尝试连接到 localhost/phpmyadmin
MySQL said:
Cannot connect: invalid settings.
Connection for controluser as defined in your configuration failed.
phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in your configuration and make sure that they correspond to the information given by the administrator of the MySQL server.
用户名尚未设置。它是“root”并且尚未设置密码。我一直在使用相同的设置,而在安装 Xampp 时没有更改任何所有权或任何其他细节。我不知道为什么会这样。有这方面经验的人可以帮我解决这些问题吗?
编辑:在进一步测试中,我可以连接到 localhost 上的另一个网站,该网站与我的 htdocs 文件夹中的这个网站类似,所以这绝对是一个仅与 phpmyadmin 没有连接到我的数据库有关的问题,因为可以工作的网站没有至少不涉及到其主页上的任何数据库的连接。只是提到它,以防细节有助于解决问题。
我的连接代码如下,它一直工作到一个小时前:
<?php
$server_name = "127.0.0.1";
$server_username = "root";
$server_password = "";
$db_name=$_SESSION["db_name"];
//echo "<br>"."Attempting connection to database " . $db_name . "<br>";
try {
$connect = new PDO("mysql:host=$server_name;dbname=$db_name", $server_username, $server_password);
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//echo "<br>"."Connected successfully to database " . $db_name . "<br>";
} catch(PDOException $e) {
echo "<br>" . "Connection failed: " . $e->getMessage() . "<br>";
}
//#3
?>
编辑2:就像我说的代码很好。我没有改变它的任何一行,它之前也很完美。我的主要问题是 phpmyadmin 本身无法连接到数据库。有关详细信息,请参阅下面的屏幕截图。我认为这是所有其他问题的根本原因:
【问题讨论】:
-
显示您的连接文件代码。
-
尝试
die("debug");找出代码失败的地方 -
我知道代码失败的地方。问题在于 phpmyadmin 本身拒绝访问数据库,所以很自然地,“$connect”首先无法连接到数据库,这也会导致其他两个错误。
-
您的
config.inc.php中的$cfg['Servers'][$i]['auth_type']是否设置为cookie 或配置?那么$cfg['Servers'][$i]['AllowNoPassword'] -
我无法访问 localhost/security/xamppsecurity.php 也是文件内容:
$cfg['Servers'][$i]['auth_type'] = 'config';$cfg['Servers'][$i]['AllowNoPassword'] = true;