我遇到了存储在我的数据库中的 URL 无法正确显示的问题。这是我的代码:
$sqlCommand =
"SELECT rotator.title, rotator.imageURL, rotator.targetURL, rotator.caption FROM rotator
WHERE ( ( rotator.visible = '1' )
OR ( rotator.visible = '2' AND ( NOW() BETWEEN rotator.schedstart AND rotator.schedstop ) ) )
ORDER BY rotator.displayorder ASC";
$query = mysqli_query($myConnection,$sqlCommand) or die (mysqli_error($myConnection));
$rotatorsDisplay = '';
while ($row = mysqli_fetch_array($query)){
$rotatorstitle = $row["title"];
$rotatorsimg = $row["imgURL"];
$rotatorsURL = $row["targetURL"];
$rotatorscaption = $row["caption"];
$rotatorsDisplay .= '<li>
<a href="'. $rotatorsURL .'"><img src="'. $rotatorsimg .'"></a>
<div id="title">'. $rotatorstitle .'</div>
<div class="caption">'. $rotatorscaption .'</div>
</li>';
}
mysqli_free_result($query);
给我带来麻烦的是 $rotatorsimg 变量。在数据库中,我手动输入了 rotator.imageURL 的值,如下所示:'images/rotator/name.jpg' 但是当我从数据库中查询它们时,将它们添加到 $rotatorsDisplay 变量中,然后使用此代码输出它们:
<?php echo $rotatorsDisplay; ?>
我在结果页面中得到的只是:
<a href="doctor.php"><img src=""></a>
我很确定这不起作用的原因是 URL 中的斜杠。我也很确定我需要以某种方式编码/转换 HTML 以从我输入数据库的代码中去除特殊字符,然后在输出时将其解码/转换回 HTML,但是由于我使用手动将此信息输入到数据库中phpMyAdmin,我还没有弄清楚如何做到这一点。
任何帮助表示赞赏!