我正在我的网站上构建目录功能 - 我希望图像与应用程序名称和价格一起显示。根据找到的ApplicationID,从文件夹中调用图片。映像名称与存储在我的数据库中的ApplicationID匹配。
但是,在运行我的代码时,我收到以下错误:
Fatal error: Cannot use object of type stdClass as array in /home/accountname/public_html/search.php on line 47 (being where I call the image).
有什么建议吗?
if(!$start)
$start=0;
$getquery = mysqli_query($conn, "SELECT ApplicationID, ApplicationName, ApplicationDescription, App_cost FROM apps WHERE ApplicationName LIKE '%$search%' OR ApplicationDescription LIKE '%$search%' LIMIT $start, $per_page;");
while($row = $getquery->fetch_object()){
$_GET['search']=$_POST['search'];
echo "<div class=\"col-6 col-sm-6 col-lg-4\">";
echo '<form method="post" action="cart_update.php">';
echo"<div id='product'><a href='appproduct.php?id=$row[1]'><img src='product_images/$row[1].jpg' alt='Product picture'/>";
echo '<h2>'.$row->ApplicationName.'</h2>';
if($row->App_cost=="0.00"){
echo '<p>Free</p>';
}else{
echo '<p>'.$row->App_cost.'</p>';
}
echo '<button class="add_to_cart">Add To Cart</button>';
echo '<input type="hidden" name="product_code" value="'.$row->ApplicationID.'" />';
echo '<input type="hidden" name="type" value="add" />';
echo '<input type="hidden" name="return_url" value="'.$current_url.'" />';
echo '</form></div>';
}
}
}
答案 0 :(得分:1)
这是错误的一行
echo"<div id='product'>
<a href='appproduct.php?id=$row[1]'>
<img src='product_images/$row[1].jpg' alt='Product picture'/>";
您正在将数据作为对象提取并使用数组生成错误
将其替换为DB字段名称
$row[1]
到
$row->colname_for_image
答案 1 :(得分:0)
$ row是一个对象,但您尝试将其用作数组:$row[1]
。
如果您的图片与您的应用ID匹配,则应使用该代码:
echo '<div id="product"><a href="'appproduct.php?id=$row->ApplicationID.'"><img src="product_images/'.$row->ApplicationID.'.jpg" alt="Product picture" />';