2011-06-16 69 views
0

所以我有这样的代码的HTML:如何显示我的网页中保存在Mysql中的图片为中Blob?

<img src="imagescript.php?id=1"> 

,我有这个代码在imagescript.php:

<?php 
    $servername="localhost"; 
    $username="root"; 
    $conn= mysql_connect($servername,$username)or die(mysql_error()); 
    mysql_select_db("licitatii",$conn); 
    $sql="select picture from auctions where auction_id='$_GET[id]'"; 
    $result=mysql_query($sql,$conn) or die(mysql_error()); 
    $row = mysql_fetch_assoc($result); 
    $image = $row['picture']; 
    header("Content-type: image/jpeg"); 
    print $image; 
?> 

我已经使用这个指令,从互联网上,但我的形象没有按” t显示。

是否有可能我错误地上传了图像?

我用<输入名称=“regphoto”类型=“文件”>中的方法=“POST”的形式,然后在表格中插入$ _ POST [regphoto]

如果它可以帮助你,这里的PHP脚本我用来插​​入照片点击提交按钮后:

$ SQL =“插入到拍卖(auction_idowner_idparent_category_idtitledescriptionpicturepostage,,buyout_priceend_date)值(NULL, '$ OWNERID', '$ parentcategoryid',“$ _ PO ST [regtitle]”, '$ _ POST [regdescription]', '$ _ POST [regphoto]', '$ _ POST [regpostage]', '$ _ POST [regstartingprice]', '$ _ POST [regbuyoutprice]', '$到期' )“;

就像你看到的,我插入到“图片”列(类型MEDIUMBLOB)值$ _ POST [regphoto]

+0

你指的是什么代码? – AllisonC 2011-06-16 15:38:20

+0

@AllisonC对不起,我不知道我不得不缩进空格来查看代码 – ionescho 2011-06-16 15:51:17

+0

如果你在标题前做了一个var_dump($ image),你会得到任何数据吗? – AllisonC 2011-06-16 15:53:30

回答

1

几点意见,这可能有助于:

  1. 你可能需要登录到密码的MySQL服务器(尽管不一定......)。
  2. 您需要保护您的代码免受sql注入攻击,在您的案例中最简单的方法是$id = (int) $_GET[id],并在您的查询中使用$id
  3. 您将不得不张贴您用于插入图片的php代码,因为插入$_POST[photo]听起来不对:您需要$_FILES['photo'],这是一个数组,请参阅manual
+0

好的感谢额外的信息,但现在的主要问题是能够显示图像这是我大学最后一个项目的一部分,安全问题现在不是优先考虑的事 – ionescho 2011-06-16 17:19:10

+0

@ user783476如果有人可以通过输入url来消除整个数据库, ;-)无论如何,检查点1和3. – jeroen 2011-06-16 17:21:31

+0

你是什么意思$ _POST ['photo']是一个数组?如果您知道并且有时间,那么它就是“文件”类型,如输入标签 – ionescho 2011-06-16 17:23:03

相关问题