首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >函数在调用时返回错误

函数在调用时返回错误
EN

Stack Overflow用户
提问于 2013-01-23 10:01:15
回答 1查看 60关注 0票数 0

我正在创建一个从数据库中拉出菜单的脚本。我目前将菜单分成6个不同的类别。我不是为每个类别创建一个查询并获取每个结果,而是创建一个函数来标识该类别,然后发布正确的结果。目前,我的函数在第5行返回错误"Fatal error : Call to a member function query() on on non-object in /home/a2077073/public_html/functions.php“。我对函数没有太多的经验,搜索也没有结果。代码发布在下面。

代码语言:javascript
运行
复制
<?php 
function getmenuitems($menu) {

$query = "SELECT * FROM `menu` WHERE `item_cat`= '" .$menu. "' ";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);


    if($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        $item_name = stripslashes($row['item_name']);
        $item_des = stripslashes($row['item_des']);
        $item_price = stripslashes($row['item_price']);     
     ?>
<div class="menu_contain">
  <div class="order-menu-first">
    <div class="mp"><strong><?php echo $item_name; ?></strong> <?php echo $item_des; ?>        </div>
  </div>
  <div class="order-menu-second">
    <div class="mp">
      <select>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
      </select>
    </div>
  </div>
  <div class="order-menu-third">
    <div class="mp">
      <input type="text" value="notes">
    </div>
  </div>
  <div class="order-menu-third">
    <div class="mp"> <?php echo $item_price; ?> </div>
  </div>
  <div class="order-menu-fifth">
    <div class="mp"> <a href="#">X</a> </div>
  </div><div class="clear"></div> 

我正在调用这个函数,

代码语言:javascript
运行
复制
  <?php 
echo getmenuitems('firsts');
   ?>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-23 10:09:55

未在函数范围内定义$mysqli。特别是在调用$mysqli->query($query);时会触发该错误。$mysqli甚至没有在全局文件作用域中定义。此时,您有三个主要选项:

不建议在全局作用域中创建mysqli连接,并将其作为第二个(或第一个)参数传递:function getmenuitems($mysqli, $menu) {

  • Not itself.

  • Really
  1. :在函数内创建$mysqli不建议:在全局作用域中创建一个mysqli连接,并使用global $mysqli;在函数内部访问它。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14471288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档