mysqli - 对非对象 mysqli 上的成员函数 fetch_array() 的 fetch_Array 错误调用 [重复]

Posted

技术标签:

【中文标题】mysqli - 对非对象 mysqli 上的成员函数 fetch_array() 的 fetch_Array 错误调用 [重复]【英文标题】:mysqli - fetch_Array error call to a member function fetch_array() on a non-object mysqli [duplicate] 【发布时间】:2013-01-16 09:23:49 【问题描述】:

我是 mysqli 的新手,并开始尝试学习基本的东西。关于这个 i 示例 (http://php.net/manual/en/mysqli-result.fetch-array.php),我正在尝试 fetch_array。这是我的代码。

$sqlGetChartData    =   "SELECT date, ratepersqft, location 
                          FROM ratepersqft
                         WHERE project_id = 1";
$runGetChartData    =   $mysqli->query($sqlGetChartData);

while($rowGetChartData = $runGetChartData->fetch_array(MYSQLI_BOTH))
    $arrGetChartData[]  =   $rowGetChartData;

    print "<pre>";
    print_r($arrGetChartData);
    exit();

这里我收到此错误调用 while 条件行旁边的非对象在线上的成员函数 fetch_array()。我尝试用谷歌搜索它并没有得到我的问题的结果。希望我的问题很清楚。提前致谢。

【问题讨论】:

【参考方案1】:

这个答案是很久以前写的,已经无关紧要了。

从那时起,我学会了解决这个问题的正确方法,并将其写在this answer。请在那里导航。

【讨论】:

这是一个很好的解释方式,+1。 你不认为这个答案可以使用一些修饰吗?我不同意提出的解决方案。也许我们应该将其作为***.com/a/22662582 的副本关闭 如你所知,作为骗子关闭并不会真正改变任何事情,但我会尝试做点什么。【参考方案2】:

查询可能失败,mysqli::query 返回 FALSE。因此$runGetChartData 不是mysqli_result 对象,而是boolean,这就是您收到错误的原因。

来自the documentation:

失败时返回 FALSE。对于成功的 SELECT、SHOW、DESCRIBE 或 EXPLAIN 查询,mysqli_query() 将返回一个 mysqli_result 对象。对于其他成功的查询,mysqli_query() 将返回 TRUE。

【讨论】:

以上是关于mysqli - 对非对象 mysqli 上的成员函数 fetch_array() 的 fetch_Array 错误调用 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用mysqli准备好的语句?

php封装的mysqli类完整实例

mysqli_fetch_assoc() 期望参数/调用成员函数 bind_param() 错误。如何获得实际的mysql错误并修复它?

mysqli_fetch_assoc() 期望参数/调用成员函数 bind_param() 错误。如何获得实际的mysql错误并修复它?

mysqli_fetch_assoc() 期望参数/调用成员函数 bind_param() 错误。如何获得实际的mysql错误并修复它?

mysqli_fetch_assoc() 期望参数/调用成员函数 bind_param() 错误。如何获得实际的mysql错误并修复它?