全局变量在php类中不起作用

全局变量在php类中不起作用,php,mysql,oop,Php,Mysql,Oop,为什么插入函数中的$connect不起作用? 我在$connect之前添加了全局,但仍然不起作用。 这是一个非常简单的MySQL类。您的语法不正确 改变这个, class Database { public $connect = ""; public function connect() { $connect = new mysqli("localhost", "root", "1521", "phone"); ini_set('defaul

为什么插入函数中的$connect不起作用? 我在$connect之前添加了全局,但仍然不起作用。
这是一个非常简单的MySQL类。

您的语法不正确

改变这个,

class Database
{
    public $connect = "";

    public function connect()
    {
       $connect = new mysqli("localhost", "root", "1521", "phone");
       ini_set('default_charset', "UTF-8");
       mysqli_set_charset($connect, "utf8");
       header('Content-type: text/html; charset=UTF-8');
       if ($connect->connect_error) {
           die('Not connect' . mysqli_connect_error());
       }
    }

    public function insert()
    {
        $sql = "SELECT id FROM personal ORDER BY id DESC LIMIT 1";
        //global $connect;
        $result = $connect->query($sql);//// this here !!!!!!!!
        $row = $result->fetch_assoc();
        $tempint = (int)$row['id'];
        $tempint += 1;
    }
}
对,

而且

对,

通过上述更改,它应该可以解决问题

$connect已在类的作用域中创建,因此当您引用它时,需要使用$this

$connect = new mysqli("localhost", "root", "1521", "phone");
$this->connect = new mysqli("localhost", "root", "1521", "phone");
$result = $connect->query($sql);
$result = $this->connect->query($sql);