标题("内容类型:image / png"); PHP

时间:2016-05-04 19:05:05

标签: php mysql sql mysqli

实现此代码时,我没有图像

  <?php

  include('confing.php'); 
  echo '<img src="getImage.php?id=2" >';

  ?>

file =&gt; getImage

<html >
<body>
<?php

include('confing.php'); 

$id = $_GET['id'];
$sql="SELECT * FROM images WHERE id=$id ";

$result=mysqli_query($connection,$sql);

$row = mysqli_fetch_assoc($result);

    // Set the content type header - in this case image/png
    header("Content-Type: image/png");
    echo $row['content'] ;

?>

体&GT; HTML&GT; 身体 HTML 体&GT; HTML&GT; 身体 HTML 体&GT; HTML&GT; 身体 HTML enter image description here

2 个答案:

答案 0 :(得分:0)

您遇到的错误:

  • Undefined index ID:您似乎在没有传递ID参数的情况下调用它。显然你应该检查一下。但是,您应该在代码中添加一些错误检查,以确保在未传递ID时不会崩溃,或者ID无效。

  • Undefined variable $connection:未设置数据库连接变量。也许你config.inc包括没有实际设置连接?或者你可能有变量名错了?您需要检查config.inc以找出发生这种情况的原因。无论如何,这会直接导致下一个错误......

  • mysqli_query expects connection parameter:由于未设置$connection变量,因此无法运行您的数据库查询。这里的一些错误检查会很有帮助,即使您对连接变量进行了整理,因为可能还有其他原因导致连接失败。

  • mysqli_fetch_assoc expects result parameter:发生这种情况是因为未运行查询而未设置结果变量。您也应该为此添加一些错误检查,因为可能还有其他原因导致查询无法运行。

错误甚至没有达到header()函数调用,这也会失败,因为程序已经输出了一些内容。您应该从程序顶部删除<html><body>标记,因为它们不是输出图像所必需的;事实上,它们会导致图像无效。

答案 1 :(得分:-1)

你的专栏:

echo '<img src="getImage.php?id=2">';

会将此输出到您的html页面中:

<img src="getImage.php?id=2">

其次,它不会加载,执行和插入getImage.php的结果。

这是一个解决方案:

第一页:

<?php
include('getImage.php');
$id = $_GET['id'];
$img = getImage($id);
echo "<img src='$img' >";
?>

getImage.php:

<?php
include('confing.php');

function getImage($id){
    $sql="SELECT * FROM images WHERE id=$id ";
    $result=mysqli_query($connection,$sql);
    $row = mysqli_fetch_assoc($result);
    return $row['content'] ;
}
?>