PHP:MySQLi连接在方法中可用

PHP:MySQLi连接在方法中可用,php,oop,mysqli,Php,Oop,Mysqli,我必须更改什么才能将$con传输到类内的方法 它应该是“公开的”或者别的什么 class MyClass { public function __construct() { $con=mysqli_connect("localhost", "dbu...", "pw") or die("Error"); mysqli_select_db($con, "db100...") or die("Error"); } public function doSomething() {

我必须更改什么才能将$con传输到类内的方法

它应该是“公开的”或者别的什么

class MyClass {

public function __construct()
{
    $con=mysqli_connect("localhost", "dbu...", "pw") or die("Error");
    mysqli_select_db($con, "db100...") or die("Error");
}

public function doSomething()
{
    mysqli_query($con, "");
}

}  
谢谢


PS:我不想要$this->db->query()或其他什么:)

如果你想坚持mysqli的过程版本,在面向对象的类中,你仍然需要使用
$this
,但有点不同:

class MyClass {
    private $con;
    public function __construct()
    {
        $this->con = mysqli_connect("localhost", "dbu...", "pw") or die("Error");
        mysqli_select_db($this->con, "db100...") or die("Error");
    }

    public function doSomething()
    {
        mysqli_query($this->con, "");
    }
}
但是,理想情况下,如果您坚持使用对象表示法,您应该一直这样做:

class MyClass {
    private $con;
    public function __construct()
    {
        $this->con = new mysqli("localhost", "dbu...", "pw") or die("Error");
        $this->con->select_db("db100...") or die("Error");
    }

    public function doSomething()
    {
        $this->con->query("");
    }
}

你可以这样做:

class MyClass {

  public $con

  public function __construct()
  {
    $this->con=mysqli_connect("localhost", "dbu...", "pw") or die("Error");
    mysqli_select_db($this->con, "db100...") or die("Error");
  }

  public function doSomething()
  {
    mysqli_query($this->con, "");
  }

} 
。。。或者像这样:

global $con; 

class MyClass {

  public function __construct()
  {
    global $con;
    $con=mysqli_connect("localhost", "dbu...", "pw") or die("Error");
    mysqli_select_db($con, "db100...") or die("Error");
  }

  public function doSomething()
  {
    global $con;
    mysqli_query($con, "");
  }

} 

建议使用第一个选项,因为第二个选项可能会导致名称空间冲突

PS:我不想要$this->db->query()或其他东西
…那么,不要将方法放在类中<如果要访问类本身的方法或属性,则需要code>$this。您不希望将连接作为类的属性的理由是什么,即
$this->con