无法将php应用程序与mysql连接

qnyhuwrf  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(301)

从一个朋友那里,我得到了一个包含php和html文件的网站(zip文件)。我还从他那里得到了一个sql脚本。现在我要做的是在localhost(xampp apache server)上运行应用程序,网站确实会加载,但看起来我无法连接到数据库。(我确实导入了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

数据库的名称是'德瓦伊'用户名是:根,我想没有密码。。。
这是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();
        }
    }

有人知道我如何解决这个问题,让数据库运行应用程序吗?我真的不知道为什么我会犯那个错误。谢谢你的帮助,谢谢

piah890a

piah890a1#

您的用户名或密码有问题$db->setdb(“localhost”,“root”,“dewai”);试试这个,它会帮助你连接你的数据库

66bbxpm5

66bbxpm52#

您好,错误消息中的问题表明connection.php文件中提供的用户名和密码不正确。
db connection的格式为$db->setdb(数据库主机ip地址或dns名称、用户名、密码、数据库名称);
根据您所说的,我猜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);

希望这有帮助。

相关问题