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 中,您需要使用 private
、protected
或 public
来定义 class 变量(属性)和函数(方法)。要访问属性(或方法),您需要使用 $this->{property name / method name}
语法。对于方法,您仍然需要在调用末尾使用括号,如下所示:$this->closedb();
。
如果我使用简单的 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 中,您需要使用 private
、protected
或 public
来定义 class 变量(属性)和函数(方法)。要访问属性(或方法),您需要使用 $this->{property name / method name}
语法。对于方法,您仍然需要在调用末尾使用括号,如下所示:$this->closedb();
。