echo图像位置适用于具有空格的图像名称

时间:2013-11-15 03:20:36

标签: php mysql image location echo

我正在使用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++;
        }

        ?>

有趣的是,'location'存储在我的数据库中并识别空格,当我回显$ location变量时,它会显示正确的图像名称。为什么不发布这些?

谢谢!

2 个答案:

答案 0 :(得分:0)

在这一行:

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

您没有将文件名包装在引号中,因此浏览器只会在空格之前看到名称的第一部分。

将其更改为

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

答案 1 :(得分:0)

尝试

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

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