我有一个带有 4 个菜单(产品、供应商、采购、客户)的 php 代码。每个菜单都有自己的存储过程。每个meanu都有这些代码:
产品代码:
<?php
$sql=$mysqli->query("call selectproducts()");
$i=1;
while($row=mysqli_fetch_array($sql)){
$id=$row['prodid'];
$date=$row['prodname'];
$item=$row['proddescription'];
$qtyleft=$row['prodsupplier'];
$qty_sold=$row['proddate'];
$price=$row['prodprice'];
$sales=$row['prodquantity'];
if($i%2){
?>
<tr id="<?php echo $id; ?>" class="edit_tr">
<?php } else { ?>
<tr id="<?php echo $id; ?>" bgcolor="#f2f2f2" class="edit_tr">
<?php } ?>
<td class="edit_td"><span class="text"><?php echo $date; ?></span> </td>
<td><span class="text"><?php echo $item; ?></span> </td>
<td><span class="text"><?php echo $qtyleft; ?></span></td>
<td><span id="last_<?php echo $id; ?>" class="text">
<?php
echo $qty_sold;
?>
我的问题是,每当我尝试在其他菜单甚至 1 个菜单中使用存储过程时,其他方式(供应商、采购、客户)都会出现此错误:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given
简而言之,如果我只包含一个 (1) 存储过程,则会发生错误。唯一能正常工作的是,当我以正常方式使用它时(SELECT * from table)。
可能是什么问题?请帮助我..这是我项目中唯一的问题。
Mysql存储过程代码:
CREATE DEFINER=`root`@`localhost` PROCEDURE `selectproducts`()
begin
select * from products order by ProdID;
end
这是完整的代码:http: //jsfiddle.net/WKKD4/
对不起,我没有其他地方可以放它。