【问题标题】:mysqli - fetch_Array error call to a member function fetch_array() on a non-object mysqli [duplicate]mysqli - 对非对象 mysqli 上的成员函数 fetch_array() 的 fetch_Array 错误调用 [重复]
【发布时间】: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()。我尝试用谷歌搜索它并没有得到我的问题的结果。希望我的问题很清楚。提前致谢。

【问题讨论】:

    标签: php mysql database mysqli


    【解决方案1】:

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

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

    【讨论】:

    • 这是一个很好的解释方式,+1。
    • 你不认为这个答案可以使用一些修饰吗?我不同意提出的解决方案。也许我们应该将其作为stackoverflow.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。

    【讨论】:

      猜你喜欢
      • 2014-05-28
      • 1970-01-01
      • 2015-02-28
      • 2021-12-26
      • 2013-09-26
      • 1970-01-01
      • 2014-02-03
      相关资源
      最近更新 更多