当前位置: 首页 > 面试题库 >

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

彭礼骞
2023-03-14
问题内容

我是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();

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


问题答案:

运行查询时始终检查错误。
而且,请不要使用不必要的长变量来扩展代码

$arrChartData[] = array();
$sql = "SELECT date, ratepersqft, location FROM ratepersqft WHERE project_id = 1";
$res = $mysqli->query($sql) or trigger_error($mysqli->error."[$sql]");
while($row = $res->fetch_assoc()) {
    $arrChartData[] = $row;
}

看,第一个变量只包含SQL代码,在您的程序中没有特殊含义,它将被放置在下一行。
第二个变量包含mysqli结果。再次没有特殊意义。可以使用常规名称。
临时$row变量也是如此。
在代码中唯一具有特殊含义的变量是$arrChartData[]-因此,给它取有意义的名称。不过,您需要在填充之前对其进行初始化。

并注意trigger_error将mysqli错误转换为PHP错误的部分。始终以这种方式运行您的查询,以通知所有mysql错误

顺便说一句,将所有临时变量移到某种帮助函数中是一种好习惯,使您的应用程序代码像下面两行一样简单

$sql = "SELECT date, ratepersqft, location FROM ratepersqft WHERE project_id = 1";
$arrChartData[] = dbGetAll($sql);

这将使您的代码更短,更易读。



 类似资料:
  • 问题内容: 我有一个70/80字段表单,需要将其插入表中,因此与其手动创建一个巨大的insert语句,不如我首先从db表单中的输入名称在db中创建了一个表,这是我使用的代码创建/更改表 这可以正常工作,并且完全按照我的需要更改了表格。现在,要插入表单值以执行此操作,我执行了一个基本的字段插入操作,以存储行的ID,然后循环所有更新该行的发布变量。这是我的代码: 这引发了绑定参数错误,我不知道为什么。

  • 请帮帮我 致命错误:在第104行的/home/u357965800/public_html/include/class.admin.php中对非对象调用成员函数prepare()

  • 我想在数据库中存储用户配置数据,我正在关注这个论坛的帖子http://forumsarchive.laravel.io/viewtopic.php?id=10406但当我实现它时,laravel抛出了一个错误。我运行了composer dump autoload,但似乎没有任何功能。这里有什么问题? //文件名:app/config/settings。php 用法: echo Config::ge

  • 问题内容: 因此,我正在重构代码以实现更多的OOP。我设置了一个类来保存页面属性。 稍后,我像这样调用set_page_title()函数 当我收到错误消息时: 调用非对象上的成员函数set_page_title() 那我想念什么呢? 问题答案: 这意味着它不是对象的实例。我们可以看到您用来初始化变量的代码吗? 当您期望特定的对象类型时,还可以使用PHP的类型提示功能 Docs 在违反逻辑时得到错

  • 我尝试了一些代码来使用PHP和slim框架构建RESTful API Web服务。(我正在使用高级Rest客户端测试此代码) 这是我的密码。

  • 问题内容: 我的查询有问题。我最近改用了PDO,这对我来说是新的。现在,我需要在查询中使用JOIN来从另一个表中获取数据,而无需执行两次执行。 问题是,我收到此错误: 我不明白问题是什么。这是我的代码的样子: 或简称为查询: 我想要的是,从用户ID为session且请求为0的朋友那里获取所有行。但是然后我想获取用户中那些朋友的ID,以便我可以链接到他们的个人资料。注意 感谢您提供任何反馈意见,不必