首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拒绝使用PHP类的Sql连接

拒绝使用PHP类的Sql连接
EN

Stack Overflow用户
提问于 2015-07-24 20:17:03
回答 1查看 283关注 0票数 0

如果我使用简单的SQL连接来测试它是否可以连接到DB,如下所示:

代码语言:javascript
复制
$link = mysql_connect('localhost', 'user', 'pass');
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected';
mysql_close($link);

它可以工作并连接witohut问题,但是当我将它添加到类中时,它会给我拒绝用户'root'@'localhost‘的错误访问权限。这是类代码:

代码语言:javascript
复制
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);
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-24 20:21:39

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

代码语言:javascript
复制
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中的操作与过程函数和变量略有不同。在类中,您需要使用privateprotectedpublic来定义类变量(属性)和函数(方法)。要访问属性(或方法),您需要使用$this->{property name / method name}语法。对于方法,仍然需要在调用的末尾使用括号,如:$this->closedb();

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31619068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档