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()どうかを確認します。TRUEFALSEnum_rows

についてのマニュアルからmysqli::query()

失敗するとFALSEを返します。SELECTSHOWDESCRIBEまたは EXPLAINクエリが成功mysqli_query()すると、オブジェクトが返されmysqli_resultます。その他の成功したクエリでは、 TRUEmysqli_query()が返されます。

于 2012-07-08T20:58:17.390 に答える