簡體   English   中英

當我嘗試使用 MySQLi 連接到數據庫時 PHP 退出

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM