我有一個非常簡單的SELECT查詢內返回false(失敗)的PHP類的上下文,但我無法檢索相關的錯誤信息。奇怪的是,調用工作正常,直到我不得不重新組織mysql數據庫 - 沒有修改PHP代碼顯然失敗 - 結果是錯誤的 - 但錯誤信息在哪裏?mysqli查詢返回false但沒有錯誤消息
代碼如下:
<?php
class Database {
private $_connection;
private $_result;
private $_lastQuery;
private $_error;
public function __construct($dbase) {
$this->_connection = new mysqli(DB_SERVER, DB_USER, DB_PASS, $dbase);
if (mysqli_connect_error()) {
trigger_error("failed to connect to MySQL: " . mysqli_connect_error(), E_USER_ERROR);
}
mysqli_set_charset($this->_connection, 'utf8');
}
public function query($query) {
$this->_lastQuery = $query;
$this->_result = mysqli_query($this->_connection, $query);
$this->_error = $this->_connection->error;
return $this->_result;
}
}
沒有錯誤字符串出現在$此 - > _錯誤;在調試過程中(PHPStorm)檢查時也沒有顯示。 通過命令行執行查詢時,會生成(預期)錯誤消息。
$ this - > _ error從哪裏來?它沒有在你的數據庫類中定義。 –
TBH,我不完全確定這一點,但不應該'$ this - > _ error = $ this - > _ connection-> error;'是$ this - > _ error = $ this - > _ connection - > _ error; '? –
爲什麼你要將查詢結果存儲在類變量中? –