0

我正在尝试为 MySQLi 编写一个自定义类,但在使用num_rows. 任何人都可以帮忙吗?

class db { 
    private $host = "***";
    private $user = "***";
    private $pass = "***";
    private $database;

    private $connection;
    private $result;
    public $sql;

    function __construct($database) {
        if (!empty($database)) $this->database = $database;
        $this->connection = new mysqli($this->host,$this->user,$this->pass,$this->database);
        return $this->connection;
    }

    public function fetchRowNum($sql) {
        if (!empty($sql)) {
            $this->sql = $sql;
            return $this->connection->query($sql)->num_rows;
        } else {
            throw new Exception("Error fetching row");
        }
    }
}
4

1 回答 1

1

mysqli_query()并不总是返回一个mysqli_result对象,它可以返回TRUE并且FALSE也会导致你得到的错误。

存储的返回值query()并检查它是否是,TRUE或者FALSE在您尝试将其作为对象访问并获取num_rows属性之前。

从手册中关于mysqli::query()

失败时返回FALSE。对于成功的SELECTSHOWDESCRIBEEXPLAIN查询mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询mysqli_query()将返回TRUE

于 2012-07-08T20:58:17.390 回答