Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mysqli查询返回false,但没有错误消息_Php_Mysql_Mysqli - Fatal编程技术网

Php mysqli查询返回false,但没有错误消息

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类的上下文中有一个非常简单的SELECT查询,返回false(失败),但我无法检索相关的错误信息。奇怪的是,在我不得不重新组织mysql数据库之前,调用一直运行良好——没有修改PHP代码——显然它失败了——结果是错误的——但是错误消息在哪里

代码如下:

<?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为空