【发布时间】:2018-07-23 19:17:13
【问题描述】:
我在一个应该返回多行的简单查询中收到以下错误:
类型:错误
消息:在布尔值上调用成员函数 num_rows()
文件名: /var/www/cfc-dev/docroot/project/system/database/DB_query_builder.php
行号:1428
我正在使用 Codeigniter 3.1.9。我最近开始使用 PHP7.2 和 sqlsrv 驱动程序连接到 MSSQL 数据库。
在其他一些帖子中,有人提到应该将可滚动设置为不同于 SQLSRV_CURSOR_FORWARD 的选项,所以我将 $this->scrollable 的值转储到 sqlsrv_driver.php 中,发现它的值是缓冲
/**
* Execute the query
*
* @param string $sql an SQL query
* @return resource
*/
protected function _execute($sql)
{
echo $this->scrollable; die();
return ($this->scrollable === FALSE OR $this->is_write_type($sql))
? sqlsrv_query($this->conn_id, $sql)
: sqlsrv_query($this->conn_id, $sql, NULL, array('Scrollable' => $this->scrollable));
}
不太清楚为什么会失败。到目前为止,任何其他不包含 num_rows() 的查询都很好。 谢谢。
【问题讨论】:
-
您的查询具体是什么?谢谢!
-
如果您发布查询和失败的代码会很有帮助。从错误消息看来,查询失败了。
标签: php sql-server codeigniter pdo sqlsrv