[英]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.