2011-06-11 75 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