如果名称与产品id匹配,PHP将显示文件夹中的图片


PHP display picture from folder if name matches product id

我正在我的网站上建立一个目录功能-我希望图像与应用程序名称和价格一起显示。图片将根据找到的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>';
        }  
    }
}

这是错误的行

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

$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" />';