Php mysqli查询返回false,但没有错误消息
我在PHP类的上下文中有一个非常简单的SELECT查询,返回false(失败),但我无法检索相关的错误信息。奇怪的是,在我不得不重新组织mysql数据库之前,调用一直运行良好——没有修改PHP代码——显然它失败了——结果是错误的——但是错误消息在哪里 代码如下:Php mysqli查询返回false,但没有错误消息,php,mysql,mysqli,Php,Mysql,Mysqli,我在PHP类的上下文中有一个非常简单的SELECT查询,返回false(失败),但我无法检索相关的错误信息。奇怪的是,在我不得不重新组织mysql数据库之前,调用一直运行良好——没有修改PHP代码——显然它失败了——结果是错误的——但是错误消息在哪里 代码如下: <?php class Database { private $_connection; private $_result; private $_lastQuery; private $_error
<?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;
}
}
问题似乎实际上是xdebug的问题。这个->\u错误是从哪里来的?它没有在数据库类中定义。TBH,我不完全确定这一点,但不应该$this->\u error=$this->\u connection->error
be$this->\u error=$this->\u connection->\u error
?为什么要将查询结果存储在类变量中?您确定DB\U SERVER、DB\U USER、DB\U PASS在类中有值吗?就您的问题而言,为什么不发布您运行的代码?你期望得到什么答案?同样的问题。但如果您设置了带有此错误的某个变量,您可能会在调试器中看到此错误(仅在此变量中):$myerr=$mysqli->error;//$mysqli->error为空,而$myerr为空