我目前正在重新设计我的网站以使用PHP和数据库(与Bootstrap,CSS和HTML相反),我目前在从我的数据库中获取链接并将其放入导航菜单时遇到问题。如果我最终决定更改它们,我更喜欢使用数据库来防止重新输入所有链接的需要。问题是我似乎无法在这里得到任何HTML输出,而且我不确定我做错了什么。我对PHP很新,所以可能有一些微不足道的事情,我只是没有掌握这个概念,但是目前这个代码只显示页面上<ul>
的项目符号。我的数据库和代码如下。确认数据库能够连接。
test.php的:
require_once('config.php');
$conn = new mysqli($servername, $username, $password, $database);
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT link_title, link_url FROM links ORDER BY link_id";
if ($result = $conn->query($query)) {
echo '<ul class="nav navbar-nav navbar-right">';
foreach($result as $link) {
echo '<li>';
echo "<a href='{$link->link_url}'>{$link->link_title}</a>\n";
echo '</li>';
}
echo '</ul>';
/* free result set */
$result->close();
}
/* close connection */
$conn->close();
答案 0 :(得分:1)
if ($result = $conn->query($query)) {
echo '<ul class="nav navbar-nav navbar-right">';
while($link = $result->fetch_object()) {
echo '<li>';
echo "<a href='{$link->link_url}'>{$link->link_title}</a>\n";
echo '</li>';
}
echo '</ul>';
/* free result set */
$result->free(); // there is no method "close" for result -> http://fi2.php.net/manual/en/class.mysqli-result.php
}