如果我使用简单的SQL-PHP连接来测试它是否可以连接到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);
}
}
答案 0 :(得分:0)
在类中,您需要使用$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();
。