我想要做的是让用户搜索产品并在搜索时带回图像。我希望通过从数据库中提取图像的路径并将其作为“”路径的一部分来实现这一点。我在网上看过一些教程和类似的问题,但所有这些都要求用户首先上传图像(我不希望发生这种情况)。
所以查询肯定有效,它会提取所有文本数据,当我运行它时可以看到这些数据。我被引导相信这是路径,但我不确定为什么它不起作用。我有它,它采用“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/