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++;
        }

        ?>

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

谢谢!

4

2 回答 2

0

在这一行:

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

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

将其更改为

 echo "<img src='" . $location . "'><br>";
                ^                 ^        Note single quotes
于 2013-11-15T03:23:51.390 回答
0

尝试

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

或者

echo "<img src="\" . $location . \""><br>";
于 2013-11-15T03:41:05.743 回答