6

我是 mysqli 的新手,并开始尝试学习基本的东西。关于这个我的例子(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();

在这里,我收到此错误 Call to a member function fetch_array() on a non-object on line 旁边的 while 条件行。我尝试用谷歌搜索它并没有得到我的问题的结果。希望我的问题很清楚。提前致谢。

4

2 回答 2

16

这个答案是很久以前写的,变得无关紧要。

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

于 2013-02-01T05:02:57.343 回答
8

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

文档中

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

于 2013-02-01T04:56:57.997 回答