我正在使用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变量时,它会显示正确的图像名称。为什么不发布这些?
谢谢!
答案 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>";