我正在向查询方法传递$ query“UPDATE ...”,它没有错误。我已经检查了其他帖子,但他们都指向了看起来不是我的问题的查询。
public function query($sql) {
$this->_result = mysqli_query($this->_link, $sql);
$this->_numRows = mysqli_num_rows($this->_result);
}
$db->numRows();
我收到错误'mysqli_num_rows()期望参数1为mysqli_result,boolean在...中给出,就像我说查询没有错,_numRows返回正确的值但是numRows()方法返回_numRows,返回错误。任何想法将不胜感激。感谢。
答案 0 :(得分:2)
" 我正在通过UPDATE
查询.. "
阅读mysqli::query
的文档:
失败时返回FALSE。对于成功的SELECT,SHOW,DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。 对于其他成功的查询,mysqli_query()将返回TRUE。
因此不返回任何行(这是mysqli_num_rows
所做的)。您最有可能寻找mysqli::$affected_rows
(显示受影响的行数 - 而不是返回了多少行):
$this->_numRows = $this->_link->affected_rows;
或
$this->_numRows = mysqli_affected_rows($this->_link);