0
我正試圖在對象的屬性中保留一個打開的pgsql數據庫連接。在對象屬性中存儲資源的PHP
將數據庫連接作爲構造函數的參數傳遞給對象並保存在屬性中。 稍後調用需要數據庫連接的類的函數,並從該屬性讀取數據。 然而,它不知道怎麼讀爲一個工作的數據庫連接。
我檢查了對象外的數據庫連接,並且在類中的函數被調用後,它仍然在那裏打開。
爲什麼資源似乎關閉在對象中,有什麼辦法可以保持它打開?
代碼示例:
public class test{
public function __construct($db_conn){
$this->db_conn = $db_conn;
var_dump($this->db_conn); // this returns resource(4) of type (pgsql link)
}
public function testDBConn(){
var_dump($this->db_conn); //this returns resource(4) of type (Unknown)
$result = pg_query($this->db_conn, 'SELECT * FROM tbl_test');
}
}
更新: 我使用實際上是類擴展另一個類。這會導致「PHP致命錯誤:無法通過引用重新分配對象」錯誤,如果我嘗試通過引用設置屬性。如果我的類沒有擴展另一個類,那麼通過引用方法設置屬性效果很好。
有沒有辦法讓它在重載的類中工作?