2011-06-11 52 views
-2

我想要显示图像<img src="here a query" >显示img src从mysql_query()

我正在做我的插入那样。

mysql_query("INSERT INTO imagenez (ID, imagenes) VALUES (NULL, '{$_FILES['userfile']['name']}')"); 

现在我想拍我的照片img。 它有可能吗?如果没有,请另行选择。

+1

你究竟想要做什么?你想在哪里存储图像? – 2011-06-11 20:04:21

+0

尝试更清楚你想要做什么。 – 2011-06-11 20:07:08

+0

我想在html中显示图像。使用查询。 – A3R 2011-06-11 20:09:39

回答

0

创建一个显示图像的新PHP页面。

<?php 
//image.php 

// connect to your DB 

// get the image from the database 
$image_id = mysql_real_escape_string($_GET['ID']); 
$sql = "SELECT imagenes FROM imagenez WHERE ID ='$image_id'"; 
$result = mysql_query($sql); 
$image = mysql_result($result, 0); 

// set the content header 
//you may need to change this if you have different types of images 
header('Content-Type: image/jpeg'); 
echo $image; 
?> 

现在在您的HTML输出中,使用带有图像ID的新页面进行显示。

<img src="image.php?ID=12" /> 
+0

如果您将图像作为文件存储在单独的目录而不是数据库中,则更好。然后当你需要使用它们时,直接引用图像文件。您的数据库表将包含(ID,FileName)。 – AndrewR 2011-06-11 20:20:37

+0

是的,我喜欢你说的。但我有一个problem.header('Content-Type:image/jpeg')不起作用。我用text/html和它的工作来证明。我的问题是什么? – A3R 2011-06-11 21:41:49

+0

如果您在标题上出现错误('Content-Type:image/jpeg');最可能的原因是您已经开始在脚本中输出。开始输出后,PHP无法设置HTTP标头。确保在<?php之前没有任何空的空格。 – AndrewR 2011-06-13 21:02:08

1

你可能要考虑如果用户上传与像s'); DROP TABLE imagenez; --文件名的图片会发生什么。

总是消毒您的输入。

+0

什么都不会发生。 mysql_query()发送一个唯一的查询(**不支持多个查询**),当然,它必须被保护以防SQL注入。 – technology 2011-06-11 20:33:02

+0

我证明了echo Header(“Content-Type:image/jpeg”);但我也有问题。 – A3R 2011-06-11 23:07:01