我一直在努力尋找如何遵循以下過程中的OOP。PHP OOP無法查詢mysqli
這是我的連接類,它處理我與數據庫的連接。
<?php
class Connection{
public $con = null;
public function __construct(){
return $this->con = new mysqli("127.0.0.1:3306", "root", "root", "tester");
}
}
?>
這裏是我的助手類,這個類包含所有將在我的webapp像插入數據的使用,刪除和更新的常用方法。
<?php
class Helpers{
public $con = null;
public function __construct($connection){
$this->con = $connection;
}
public function register($name){
$con = $this->con;
$sql = "insert into name(Name)value($name);";
$con->query($sql);
}
}
?>
現在,我打電話給他們這樣在我的register.php
<?php
require "Connection.php";
require "Helpers.php";
$connection = new Connection();
$Helpers = new Helpers($connection);
$Helpers->register("Keannu");
?>
但我收到以下錯誤:
Call to undefined method Connection::query().
我做了什麼錯?
既然你包裝它兩次,你將不得不使用'$ this-> con> con> query()'然後。避免額外的包裝。並研究PDO而不是mysqli。最後這樣做不會太費力(特別是對於更簡單的參數綁定)。 – mario
你正在做一個雙重包裝,所以它將成爲'con> con'。你應該重新考慮你的結構。 Imo –
@mario 好吧,現在錯誤消失了,但沒有添加到我的數據庫中。 –