[英]PHP Exits When I Try to Connect to a Database Using MySQLi
我最近在開發一個網站,遇到了一個錯誤。 當我嘗試做print_r(error_get_last());
它輸出一些關於不再支持 mysql 的文本,並使用 MySQLi。 我全力以赴。 當我編輯我的數據庫類以支持 MySQLi 時,它每次嘗試連接時都會退出。 我已經把echo 'hi<br />';
在mysqli
函數之前和之后,還有一個or trigger_error("Error: " . print_r(error_get_last()));
在它的最后,但它輸出的所有內容都是hi
,沒有別的。 我的數據庫是在 phpMyAdmin 中創建的,並且具有所有正確的權限,但它就是無法連接。 這是我的連接代碼:
echo 'hi<br />';
$this->db = mysqli($host, $dbuser, $dbpass, $dbname) or trigger_error("Error: " . print_r(error_get_last()));
echo 'hi<br />';
$this->connect_start = microtime(true);
if ($this->db->connect_errno > 0) die ($this->debug(true));
它在一個類的構造函數中,如下所示:
function db($host, $dbname, $dbpass, $dbuser)
它是這樣調用的:
$db = new db($host, $dbname, $dbpass, $dbuser);
改變這個:
$this->db = mysqli()
到
$this->db = new mysqli()
mysqli 不是一個函數,它是一個類。 如果您有錯誤報告,您會收到如下消息:
PHP 致命錯誤:調用未定義的函數 mysqli()
這就是為什么沒有執行其余代碼的原因,執行就在那里停止。
另請注意, new mysqli()
永遠不會返回false
,因此您的or ...
部分變得無用。 如果你想檢查連接錯誤,你必須在連接嘗試后檢查$this->db->connect_error
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.