我试图通过PHP在HTML文件中显示来自MYSQL的图像。我的代码出了什么问题?

时间:2011-12-08 13:19:45

标签: php mysql html

这是PHP代码。我基本上要做的是从mySQL数据库中显示一个图像,但对于我的生活,我似乎无法弄明白。

    <?php
    $port = "****";
    $server = "****".$port;
    $dbname ="****";
     $user = "****";

    $conn = mysql_connect ("$server", "$user", "$pass") or die ("Connection
    Error or Bad Port");

    mysql_select_db($dbname) or die("Missing Database");

    ?>

     <!doctype html public "-//w3c//dtd html 4.0 transitional//en"
     "http://www.w3.org/TR/REC-html40/strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
    />
     <title>Query 3</title>
     </head>

   <body bgcolor="white">


    <hr>


      <?php
    $speakerPic = $_POST['speakerPic'];
    $query = "SELECT speaker.speaker_picture FROM  Speaker JOIN Contact USING(contact_id) 
    WHERE Contact.lname = ";
    $query = $query."'".$speakerPic."';";
    ?>

        <p>
    The query:
    <p>
    <?php
    print $query;
    ?>

    <hr>
    <p>
     Result of query:
    </p>

     <?php
   $row = mysql_fetch_array($query);
   $content = $row['image'];

   header('Content-type: image/jpg');
         echo $content;
 ?>

 </body>
 </html>

这里有什么用?我非常感谢你的帮助。

3 个答案:

答案 0 :(得分:1)

要在HTML文档中包含图片,请使用<img>标记,其src属性包含指向图像的URI。

这可能是一个HTTP URI(它可以命中一个从数据库中获取图像数据并返回它的PHP脚本),它可能是一个DATA URI,图像直接编码到页面中。

处理图像的常用方法是将它们保存在文件系统中,并在数据库中存储URL(或可以构建URL的文件路径)。

不能只是在你正在尝试的另一个HTTP响应中间吐出HTTP响应。

答案 1 :(得分:0)

在致电mysql_query之前,您需要致电mysql_fetch_array

$result = mysql_query( $query);
$row = mysql_fetch_array($result);

此外,您应该像这样清理$speakerPic

$query = $query."'". mysql_real_escape_string( $speakerPic)."';";

答案 2 :(得分:0)

您没有名为“image”的行,请尝试在查询中重新命名您的行:

SELECT speaker.speaker_picture AS image FROM ...