2012-11-01 58 views
2

我剛開始使用html,php和mysql。我已經成功使用php登錄到我的數據庫,並形成了一個查詢。我現在想進一步展示一張圖片,而不是僅僅是字符串或數字。如何使用php顯示圖像?

變量'result'將返回一個字符串,其中包含一個url,用於顯示在此網頁上的圖像。我將如何做到這一點?

<html> 
<head> 
<title>My First Question</title> 
</head> 
<body> 

<?php 

$dbhost = 'someURL.com'; 
$dbname = 'user'; 
$dbuser = 'user'; 
$dbpass = 'password'; 

$mysql_handle = mysql_connect($dbhost, $dbuser, $dbpass) 
    or die("Error Connecting To Database Server"); 

mysql_select_db($dbname, $mysql_handle) 
    or die("Error selecting database: $dbname"); 

echo 'Successfully connected to database!'; 

$first = 'bobbie'; 

$query = sprintf("SELECT image FROM Player 
    p WHERE name='%s'", mysql_real_escape_string($first)); 

$result = mysql_query($query); 

mysql_close($mysql_handle);  

?> 

</body> 
</html> 
+7

您正在使用[一個過時的數據庫API](http://stackoverflow.com/q/12859942/19068),並且應該使用[現代替換](http://php.net/manual/en/mysqlinfo.api.choosing.php)。 – Quentin

回答

10

PHP內,這會將你的SQL響應變成一個可用的變量。

$result = mysql_fetch_assoc(mysql_query($query)); 

在您的PHP標記之外,將表中的URL回顯到IMG元素的SRC中。

<img src="<?= $result['url_column_name'] ?>"/> 

這將創建一個新的IMG元素,其源代碼是您從SQL查詢中獲取的URL。

短標籤也是一種在HTML中回顯PHP變量的方式。

<?= $var1, $var2 ?> 

是使用

<?php echo $var; echo $var2; ?> 
3

這是迴應相關HTML的簡單情況。您還可以執行查詢後獲取結果 -

$result = mysql_query($query);  
$data = mysql_fetch_assoc($result); 
echo '<img src="'.$data['image'].'" />; 

爲了增加安全性,良好的做法是爲了逃避你的圖片路徑中的任何可能不必要的HTML內容 - htmlspecialchars($data['image'])

在這裏還應該注意,您正在使用一種很舊的棄用方法來訪問您的數據庫。您可能想要考慮更新您的代碼以使用更現代的PDO方法。

+1

不要忘了'htmlspecialchars' – Quentin

+0

我把它放在你建議的所有在我的php標記中的代碼中,它只寫道:「成功連接到數據庫!」。任何想法爲什麼? –

+0

執行'mysql_query()'後,請嘗試查看是否有任何錯誤。你可以使用'mysql_error()'來查看執行的最後一個查詢是否有錯誤。 – Lix

2

那又如何?簡單地把它作爲一個源圖像

<?php $imgname = mysqli_fetch_array($connection, $result); ?> 
<img src="<?php echo $imgname['image_column_name']; ?>" /> 

而且順便說一句使用mysqli_()PDO而不是使用mysql_()社區的不是保持它了

0
<?php 

$dbhost = 'someURL.com'; 
$dbname = 'user'; 
$dbuser = 'user'; 
$dbpass = 'password'; 

$mysql_handle = mysql_connect($dbhost, $dbuser, $dbpass) 
    or die("Error Connecting To Database Server"); 

mysql_select_db($dbname, $mysql_handle) 
    or die("Error selecting database: $dbname"); 

$first = 'bobbie'; 

$query = sprintf("SELECT image FROM Player 
    p WHERE name='%s'", mysql_real_escape_string($first)); 

$result = mysql_query($query); 

mysql_close($mysql_handle);  
header("Location: $result"); 
?> 

應該工作

2

,一旦你更新你的mysql到mysqli的,你可以在一個HTML img標籤回聲圖像的URL作爲這樣的等價物:

echo '<img src="'.$result['image'].'"/>';