从朋友那里,我得到了一个包含PHP和HTML文件的网站(zip文件)。我也从他那里得到了一个SQL脚本。现在我要做的是在localhost(Xampp apache服务器)上运行应用程序并且网站确实加载,但看起来我无法连接到数据库。(我确实导入了SQL脚本并且它有效,但是我仍然收到此错误)这是一个错误,例如我在主页上收到的信息:
Connection failed: SQLSTATE[HY000] [1045] Access denied for user 'dewaai'@'localhost' (using password: YES)
Notice: Undefined index: logged in C:\xampp\htdocs\deWaai\includes\header.php on line 14
数据库的名称是'dewaai' 用户名是:root 我认为没有密码......
这是connection.php文件:
<?php
session_start();
include "db.php";
$db = new db();
$db->setDB("localhost", "dewaai", "dewaai", "dewaai");
$db->connect();
?>
这些是db.php文件中的数据库函数:
<?php
class db {
private $conn;
private $servername;
private $dbuser;
private $dbpass;
private $dbname;
function setDB($servername, $dbuser, $dbpass, $dbname) {
$this->servername = $servername;
$this->dbuser = $dbuser;
$this->dbpass = $dbpass;
$this->dbname = $dbname;
}
function connect() {
try {
$this->conn = new PDO("mysql:host=$this->servername;dbname=$this->dbname", $this->dbuser, $this->dbpass);
// set the PDO error mode to exception
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo "Connection failed: " . $e->getMessage();
}
}
有谁知道如何解决这个问题,以便数据库运行应用程序? 我真的不知道为什么我会收到这个错误。 感谢任何形式的帮助,thx
答案 0 :(得分:1)
您的用户名或密码有问题。 $ db-&gt; setDB(“localhost”,“root”,“”,“dewaai”); 试试这个它可以帮助你连接数据库
答案 1 :(得分:0)
问题清楚地说明错误消息指出您在connection.php文件中给出的用户名和密码不正确。
数据库连接的格式是 $ db-&gt; setDB(数据库主机IP地址或DNS名称,用户名,密码, DatabaseName );
根据你所说的我认为connection.php文件应该是
<?php
session_start();
include "db.php";
$db = new db();
$db->setDB("localhost", "root", "", "dewaai");
$db->connect();
?>
我认为您的PDO连接也可能存在问题。它应该是
$this->conn = new PDO('mysql:host='.$this->servername.'; dbname='.$this->dbname, $this->dbuser, $this->dbpass);
希望这有帮助。