【发布时间】:2015-03-25 01:42:06
【问题描述】:
所以我正在使用这个查询从我的数据库中获取一些信息。
$fetch_menu = $db->prepare("SELECT id, title, link, custom_link, rel FROM header_menu ORDER BY id DESC");
$fetch_menu->execute();
$header_menu = $fetch_menu->fetchAll();
$header_count = $fetch_menu->rowCount();
现在我正在尝试使用此语句从我的数据库中回显数据。
$nav_count = 0;
while ($header_count > $nav_count){
echo "<li><a ";
if (isset($header_menu[$nav_count]['rel'])){
echo "rel='";
echo $header_menu[$nav_count]['rel'];
echo "'";
}
$nav_count ++;
}
现在,问题出现在我获得此输出的网站上(来自未填充 rel 或 custom_url 的字段):
<a rel="" href="">Contact</a>
rel 列在我的数据库中是空的,但它仍然回显。 我对这个语句有完全相同的问题,其中 custom_link 字段填充了 1 个菜单项,而不是其余的。
if (isset($header_menu[$nav_count]['custom_link'])){
echo " href='";
echo $header_menu[$nav_count]['custom_link'];
}
else if (isset($header_menu[$nav_count]['link'])){
echo " href='/";
echo $header_menu[$nav_count]['link'];
}
用 custom_url 填充的字段的输出是这样的:
<a rel="" href="http://example.com">Test page</a>
为什么我不能在我的数据库提取中使用 isset?
【问题讨论】:
-
变量总是设置的,它只是空的。请改用
!empty()。 -
if (isset($header_menu[$nav_count]['rel']) && !empty($header_menu[$nav_count]['rel'])){