运行购物车页面时出现mysqli_fetch_array()参数类型错误求助
错误原因及解决办法
错误原因
- SQL语法错误:你的SQL语句中表名
product用了单引号('product'),MySQL中表名/列名的正确包裹符号是反引号(),单引号会被识别为字符串常量,导致查询执行失败,mysqli_query()返回false`而非有效的结果集对象。 - 缺少错误检查:没有判断查询是否成功,直接将
mysqli_query()的返回值传入mysqli_fetch_assoc(),当查询失败返回false时,就会触发mysqli_fetch_array() expects parameter 1 to be mysqli_result错误。
解决办法
- 修正SQL语句:将表名的单引号替换为反引号,或者直接省略包裹符号(当表名不含特殊字符时):
$result = mysqli_query($dbc,"select * from `product`"); - 添加查询错误检查:在执行查询后立即判断结果是否有效,输出具体错误信息便于调试:
$result = mysqli_query($dbc,"select * from `product`"); // 检查查询是否成功 if (!$result) { die("数据库查询失败: " . mysqli_error($dbc)); } while($row = mysqli_fetch_assoc($result)){ echo "<div class='product_wrapper'> <form method='post' action=''> <input type='hidden' name='cat' value=".$row['Product_Category']." /> <div class='image'><img src='".$row['Product_Img']."' /></div> <div class='name'>".$row['Product_Name']."</div> <div class='price'>$".$row['Product_Price']."</div> <button type='submit' class='buy'>Buy Now</button> </form> </div>"; } mysqli_close($dbc);
内容的提问来源于stack exchange,提问作者Ash
相关产品推荐
相关产品推荐

