Sql PHP class 连接被拒绝

Sql connection refused for PHP class

如果我使用简单的 SQL-PHP 连接来测试它是否可以像这样连接到数据库:

$link = mysql_connect('localhost', 'user', 'pass');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected';
mysql_close($link);

它可以正常工作并解决问题,但是当我将它添加到 class 时,它会给我一个错误 Access denied for user 'root'@'localhost'。这是 class 代码:

class Konektor {
    private $dbhost = "localhost";
    private $dbuser = "user";
    private $dbpass = "pass";
    var $link;
    function testcon() {
        $link = mysql_connect($dbhost, $dbuser, $dbpass);
        if (!$link) {
            die('Could not connect: ' . mysql_error());
        }
        echo 'Connected';
        closedb($link);
    }
    function closedb($link) {
        mysql_close($link);
    }
}

在 class 中,您需要使用 $this 语法访问变量。按以下方式修改您的 class:

class Konektor {
    private $dbhost = "localhost";
    private $dbuser = "user";
    private $dbpass = "pass";
    private $link;
    function testcon() {
        $this->link = mysql_connect($this->dbhost, $this->dbuser, $this->dbpass);
        if (!$this->link) {
            die('Could not connect: ' . mysql_error());
        }
        echo 'Connected';
        $this->closedb();
    }

    function closedb() {
        mysql_close($this->link);
    }
}

类 在 PHP 中的操作与过程函数和变量略有不同。在 class 中,您需要使用 privateprotectedpublic 来定义 class 变量(属性)和函数(方法)。要访问属性(或方法),您需要使用 $this->{property name / method name} 语法。对于方法,您仍然需要在调用末尾使用括号,如下所示:$this->closedb();