我正在创建一个从数据库中提取菜单的脚本。我目前将菜单分为6个单独的类别。我想创建一个标识类别的函数,然后发布正确的结果,而不是为每个类别创建一个查询并获取每个结果。目前,我的函数返回错误,“致命错误:在第5行的/home/a2077073/public_html/functions.php中的非对象上调用成员函数查询()”。我没有太多的功能经验和搜索没有结果。代码发布在下面。
<?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>
我正在调用函数,
<?php
echo getmenuitems('firsts');
?>
答案 0 :(得分:0)
$mysqli
未在函数范围内定义。特别是在调用$mysqli->query($query);
时会触发错误。 $mysqli
甚至没有在全局文件范围中定义。此时您有三个主要选项:
function getmenuitems($mysqli, $menu) {
$mysqli
。global $mysqli;
在该函数内访问它。