我想要做的是让用户搜索产品并在搜索时带回图像。我希望通过从数据库中提取图像的路径并将其作为“”路径的一部分来实现这一点。我在网上看过一些教程和类似的问题,但所有这些都要求用户首先上传图像(我不希望发生这种情况)。

所以查询肯定有效,它会提取所有文本数据,当我运行它时可以看到这些数据。我被引导相信这是路径,但我不确定为什么它不起作用。我有它,它采用“img/ImageName 路径(直接从数据库中提取。我什至玩过它,让“img/”作为 PHP 的一部分出现(作为字符串)。但是,每当我执行查询时,唯一显示图像位置的东西就是 alt“找不到”图标。

这是我的代码:

HTML:

<form action="searchDB.php" method="GET" id="searchForm">
    <p>Search for the product you want!</p>
    <input type="text" name="product" id="product" placeholder="Product...">
    <br>
    <input id="submit" type="submit" value="Search">

</form>


PHP:
<?php
$conn = new mysqli($servername, $username, $password, $dbase);

if ($conn->connect_error) {
   echo "Connection failed: ". $conn->connect_error;
}

if(empty($_GET['product']) ){
   die('please input a search!');
} else {

$product = mysqli_real_escape_string($conn, $_GET['product']);

$sql = "SELECT * FROM products WHERE product = '$product'";
$result = $conn->query($sql);


?>

<?php
if ($result->num_rows > 0){
  //output each row
  while($row = $result->fetch_assoc()){#
            echo '<tr>';
            echo '<td>'.$row['product'].'</td>';
            echo '<td>'.$row['brand'].'</td>';
            echo '<td>'.$row['cost'].'</td>';

   /*This is the path here, it pulls the image path from the database
   ("img/Image-Name") and puts it in a "src" attribute*/
    echo '<td>' ."<img src=/'" .$row['image']."' />" .'</td>';
    echo '<td>'.$row['specification'].'</td>';
    echo '</tr>';
    echo '</table>';
    echo '</div>';
  }
} else {
   echo "Sorry, we could not find any products relating to your search.";
}

}


mysqli_close($conn);
?>

最佳答案

改变:

echo '<td>' ."<img src=/'" .$row['image']."' />" .'</td>';

要么这
echo '<td>' ."<img src='" .$row['image']."' />" .'</td>';

或为此
echo '<td>' ."<img src='/" .$row['image']."' />" .'</td>';

取决于您是否真的需要路径开头的正斜杠。

关于php - 从数据库中拉取图片路径并显示图片,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50592614/

10-12 00:10
查看更多