0
我真的很希望有人能幫我弄清楚我錯過了什麼。我已經將我的安裝從PHP 5.6升級到7.0,這迫使我從Mysql更新到Mysqli,由於某些原因,我的安裝程序被破壞了。從PHP的另一個課程使用MySQLi
我研究並遵循本指南「在其它類中使用的MySQLi」:3210
我寫作爲最後的手段,並在其他網站也看起來很好,但好像問題就來了一些來自其他地方。
首先我有一個數據庫類:
private $serverName = "localhost";
private $userName = "DBUserName";
private $pass = "UserPassword";
private $database = "SelectedDB";
public $conn;
public function __construct(){
$this->conn = new mysqli($this->serverName, $this->userName,$this->pass,$this->database);
}
然後我有一個API類,我想訪問此連接,它看起來像
require_once 'Database.php';
class MyAPI{
private $db;
public function __construct($request_uri, $postData, $origin) {
$this->db = new Database();
}
,最後我嘗試從調用它功能:
$getUserResult = mysqli_query($this->db->conn, $getUserQry);
當過我調用$這個 - > DB->康恩我得到一個內部服務器錯誤500
如果我在MyAPI類中創建數據庫連接,則不存在對我來說很奇怪的問題。
我希望有人能指出我的方向。
更新: 我糾正了腳本中的拼寫錯誤,現在我得到200,但值仍然從查詢mysqli_query爲空。
如果我創建$ dbtest = new database();並使用它,而不是它工作正常。有沒有辦法讓它在引用$ db的構造函數中工作?
「500錯誤」的意思是「你的PHP出了問題」意思是「檢查你的'error.log'文件」或者你的服務器拋出錯誤的地方。 – tadman
'private $ db;'應該是__in__類的定義 –
總是在開發和測試代碼的時候,在腳本的最前端'error_reporting(E_ALL); ini_set('display_errors',1);' –