簡體   English   中英

mysqli的PHP連接錯誤

[英]PHP connection error with mysqli

經過程序化php之后,我從上周開始研究OOP的基礎,並嘗試連接數據庫。 但是它顯示了我意外的錯誤:

意外的'$ conn'(T_VARIABLE),期望函數(T_FUNCTION)

PHP代碼:

class Database 
{
   public $conn;

   private $host = "localhost";
   private $user = "root";
   private $pass = "";
   private $db   = "inventory";

   // Create connection
    $conn = new mysqli($host, $user, $pass, $db);

    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    echo "Connected successfully";
}

嘗試這個 :

<?php

class Database {
   public $conn;

   private $host = "localhost";
   private $user = "root";
   private $pass = "";
   private $db   = "inventory";

   public function __construct()
   {
       // Create connection
       $this->conn = new mysqli($this->host, $this->user, $this->pass, $this->db);

        // Check connection
        if ($this->conn->connect_error) {
            die("Connection failed: " . $this->conn->connect_error);
        }
        echo "Connected successfully";
    }

    public function getCon() {
        return $this->conn;
    }

}

?>

您需要一個構造函數。 僅用於您的課程:

$oDatabase = new Database();

您需要在$ conn上獲取getter。

您必須將連接代碼存儲到一個函數中。 不要忘記刪除public $conn; 從頂部。

  public function createConnection ()
  {
       // Create connection
       $conn = new mysqli($this->host, $this->user, $this->pass, $this->db);

       // Check connection
       if ($conn->connect_error) {
           die("Connection failed: " . $conn->connect_error);
       }

       //echo "Connected successfully";
       return $conn;
   }

然后,您可以創建該類的對象。

  $db = new Database(); // Your main object
  $conn = $db->createConnection(); // The connection object

請注意,我一直在使用$ this-> variable訪問類中的私有變量。

現在,您可以使用連接對象。 例如$conn->query("SELECT * FROM MyTable");

您的課程沒有任何功能。 例如,您需要一個connect()才能連接到數據庫。

    class Database {
      // public $conn;

       private $host = "localhost";
       private $user = "root";
       private $pass = "";
       private $db   = "inventory";

       // Create connection
       function connect() {
         $conn = new mysqli($host, $user, $pass,$db);
          // Check connection
          if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
          }
          echo "Connected successfully";
       }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM