2013-11-15 41 views
0

我正在使用MySQL數據庫存儲圖像位置,以將圖像張貼到頁面。我遇到了一個我似乎無法解決的問題。如果圖像存儲在標題中的空格中,例如「image two.jpg」,它將不會顯示在頁面上。將顯示名稱爲「imagetwo.jpg」的圖像。這裏是我的代碼:回聲圖像位置確實與具有空格的圖像名稱兼容

 <?php 
     require('db_connect.php'); 

     $query = ("SELECT * FROM photos"); 
     $result = mysql_query($query); 
     $num = mysql_numrows($result); 
     $i=0; 
     while ($i<$num) { 
      $name = mysql_result($result, $i, 'Name'); 
      $price = mysql_result($result, $i, 'Price'); 
      $price = '$'.$price; 
      $description = mysql_result($result, $i, 'Description'); 
      $location = mysql_result($result, $i, 'Location'); 
      $id = mysql_result($result, $i, 'id'); 

      echo "<img src=" . $location . "><br>"; 
      echo $location; 
      echo "<br>"; 
      echo $id; 
      $i++; 
     } 

     ?> 

有趣的是的是的「位置」存儲在我的數據庫和識別的空間,當我回聲$位置變量它會顯示正確的圖像名稱。爲什麼這些不會被張貼?

謝謝!

+0

* 「回波圖像的位置並與具有空間圖像名稱工作」 * - 那麼你應該考慮更換帶下劃線的空格,這是我爲類似情況所做的。 –

+0

@ Fred-ii-這是一種解決方法,但並非真正的解決方案。文件名中的空格沒有任何問題。 –

+1

從[mysql_query](http://php.net/manual/en/function.mysql-query.php)上的PHP手冊:此擴展從PHP 5.5.0開始已棄用,並且將來會被刪除。相反,應該使用MySQLi或PDO_MySQL擴展。 – maiorano84

回答

0

在這一行:

echo "<img src=" . $location . "><br>"; 

你沒有加包裝的文件名,所以瀏覽器只能看到這個名字的第一部分,空間之前。

將其更改爲

echo "<img src='" . $location . "'><br>"; 
       ^    ^  Note single quotes 
+0

就是這樣!非常感謝你。這樣一個簡單的修復,但很容易忽略。 – jason

0

嘗試

echo "<img src='" . $location . "'><br>"; 

echo "<img src="\" . $location . \""><br>"; 
相關問題