如何使用php从数据库中获取文件作为图像?我已经尝试了这一点,但我得到的只是图像的名称而不是实际的图像。是否有必须使用的特定语法?此外,数据库中的Image类型是BLOB类型,因此它应该存储图像。
<!DOCTYPE html>
<html>
<body>
<?php
$servername = "localhost";
$username = "WebAssignment";
$password ="qwer12";
$dbname = "webassigment";
// Create connection
$conn = new mysqli($servername, $username,$password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT Food_Name, Food_Price,Food_Category, Image FROM menu";
$result = $conn->query($sql);
$array = array();
while($row =$result->fetch_assoc()){
// add each row returned into an array
$array[] = $row;
}
?>
<h2>Starters</h2>
<?php
for($i=0;$i<sizeof($array);$i++) {
if($array[$i]["Food_Category"]=="starters"){
echo $array[$i]["Food_Name"]. " " . $array[$i]["Food_Price"]. "<br>" . $array[$i]["lastname"]. "<br>".$array[$i]["Image"]."<br>";
}
}
?>
<h2>Burgers</h2>
<?php
for($i=0;$i<sizeof($array);$i++) {
if($array[$i]["Food_Category"]=="burgers"){
echo $array[$i]["Food_Name"]. " " . $array[$i]["Food_Price"]. "<br>" . $array[$i]["lastname"]. "<br>".$array[$i]["Image"]."<br>";
}
}
?>
<h2>Desserts</h2>
<?php
for($i=0;$i<sizeof($array);$i++) {
if($array[$i]["Food_Category"]=="desserts"){
echo $array[$i]["Food_Name"]. " " . $array[$i]["Food_Price"]. "<br>" . $array[$i]["lastname"]. "<br>".$array[$i]["Image"]."<br>"; }
}
?>
<h2>Drinks</h2>
<?php
for($i=0;$i<sizeof($array);$i++) {
if($array[$i]["Food_Category"]=="drinks"){
echo $array[$i]["Food_Name"]. " " . $array[$i]["Food_Price"]. "<br>" . $array[$i]["lastname"]. "<br>".$array[$i]["Image"]."<br>"; }
}
$conn->close();
?>
</body>
</html>
答案 0 :(得分:0)
这个问题已经提出并由daiscog回答并由Eric Leschinski在How to retrieve images from MySQL database and display in an html tag改进
根据“em”,您需要创建一个php文件(包括带有图像标头声明的数据库信息),您可以使用简单的HTML图像标记调用该文件 -
<img src="<name of your php file>">