数据库mysqli_query中的OOP php错误

时间:2016-05-14 18:23:16

标签: php-mysqlidb

我正在使用PHP 5.6.16设计一个网页,试图使用一些OOP的想法。 当我在文件index.php中包含文件classnews.php时,我收到错误

Undefined variable: connect in classtin.php

classdb.php:

<?php
class db
{
    public $hostname = "localhost";
    public $user= "root";
    public $pass = "";
    public $db = "test";
    /* public $connect = NULL;
    public $result = NULL;*/

    function __construct()
    {
        $connect = mysqli_connect($this->hostname, $this->user, $this->pass,$this->db);
        mysqli_set_charset($connect,'utf8');
    }
}
?>

classnews.php:

<?php
    include_once('classdb.php');

    class tin extends db
    {
        public function tinmoi()
        {
            $sql= "select * from emp ";
            $result= mysqli_query($connect,$sql);
            return $result;
        }
    }
?>

1 个答案:

答案 0 :(得分:1)

您需要$this引用班级成员。例如,与$this->hostname相同的方式。

修改您的代码部分:

class db
{
    public $hostname = "localhost";
    public $user= "root";
    public $pass = "";
    public $db = "test";

    public $connection;

    public function __construct()
    {
        $this->connection = mysqli_connect($this->hostname, $this->user, $this->pass,$this->db);
        mysqli_set_charset($this->connection,'utf8');
    }
}

class tin extends db
{
    public function tinmoi()
    {
        $sql = "select * from emp ";
        return mysqli_query($this->connection, $sql);
    }
}

同样,我强烈建议在PHP中查看OOP的基础知识:http://php.net/manual/en/language.oop5.basic.php