[英]Unable to make object in php to access extend class methods
我正在嘗試使用兩個不同的類在PHP中建立數據庫連接。 我的對象創建中有一個錯誤:
錯誤:解析錯誤:語法錯誤,意外的'$ obj'(T_VARIABLE),預期函數(T_FUNCTION)
該行發生錯誤: $obj = new UserController();
這是我的Connection
類:
class Connection
{
public $servername = "localhost";
public $username = "root";
public $password = "";
public $dbname = "web-portal";
function database (){
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
return $conn;
} else {
return $conn;
}
}
}
這是我的UserController
類:
class UserController extends Connection {
$obj = new UserController();
//$obj->database();
function getUser ($userId) {
// Sql query to select record from user table
$sql = "SELECT * FROM User where user_id = ".$userId;
//Excute sql query
$result = $conn->query($sql);
//If record exists
if ($result->num_rows > 0) {
// output data of each row
$row = $result->fetch_assoc();
$conn->close();
return $row;
} else {
//If no record exists return row 0
$row = 0;
return $row;
}
}
}
一些一般指導:
UserController
不是Connection
,所以這不是很好的繼承UserController
應該繼承Controller
或類似的東西。 $this->database()->query($sql)
而不是$result = $conn->query($sql)
$this->database()->query($sql)
。 $conn
仍然無法使用。 您將需要執行$obj = new UserController()
但這將屬於另一個文件,如下所示:
require_once 'Connection.php'; require_once 'UserController.php'; $controller = new UserController(); $row = $controller->getuser(1); print_r($row);
您可能會發現,一種好的方法是瀏覽一些網上的優秀教程-從長遠來看,它可能比在沒有指導的項目上苦苦掙扎更快。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.