如果我使用简单的SQL连接来测试它是否可以连接到DB,如下所示:
$link = mysql_connect('localhost', 'user', 'pass');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected';
mysql_close($link);它可以工作并连接witohut问题,但是当我将它添加到类中时,它会给我拒绝用户'root'@'localhost‘的错误访问权限。这是类代码:
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);
}
}发布于 2015-07-24 20:21:39
在类中,您需要使用$this语法访问变量。以下列方式修改类:
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中的操作与过程函数和变量略有不同。在类中,您需要使用private、protected或public来定义类变量(属性)和函数(方法)。要访问属性(或方法),您需要使用$this->{property name / method name}语法。对于方法,仍然需要在调用的末尾使用括号,如:$this->closedb();。
https://stackoverflow.com/questions/31619068
复制相似问题