因此,我使用此查询从数据库中获取一些信息。
$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 字段填充了其中一个菜单项,但没有填充其余菜单项。
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?
最佳答案
您可以使用var_dump($header_menu);
查看变量中的内容。
也使用empty()代替isset()
关于php - 如果 isset 无法与数据库提取正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29238655/