我想知道我的代码出错了。 我在导航栏的无序列表中使用php构建了我的导航栏,以从名为“shop”的数据库中从名为“menu”的SQL表中检索菜单元素,但没有用。 我甚至有一个print_r,只是为了告诉我我的资源正在运行,但由于某种原因,整个代码并没有按照所写的方式创建菜单项。
这是代码:
<?php
$menu = [];
mysql_connect('localhost', 'root', '');
mysql_select_db('shop');
$result= mysql_query("SELECT * FROM menu");
if ($result && mysql_num_rows($result)>0){
while($row = mysql_fetch_assoc($result)){
$menu[] = $row;
}
}
echo '<pre>';
$error= print_r($menu);
$error = '' ;
echo '</pre>';
?>
<!DOCTYPE html>
<html>
<head>
<link href="_CSS/style.css" rel="stylesheet" type="text/css"/>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div class="site-wrapper">
<div class="header">
<div class="navbar">
<ul>
<li><a href="./">Home</a></li>
<?php if(count($menu) >0) : ?>
<?php foreach ($menu as $row) : ?>
<li><a href="#"><?php $row = ['link']; ?></a></li>
<?php endforeach; ?>
<?php endif; ?>
</ul>
</div>
<div class="member">
<ul>
<li><a href="../login.php"></a>Login</li>
<li><a href="../Register.php"></a>Register</li>
</ul>
</div>
</div>
</div>
答案 0 :(得分:0)
你的问题是:
<?php $row = ['link']; ?>
应该是这样的:
<?php echo $row['link']; ?>
也许你在尝试这样做时感到困惑:
<?= $row['link']?>
答案 1 :(得分:0)
错误1:
您已使用
$row = ['link'];
您将收到此错误Notice: Array to string conversion in ..
所以你需要$row['link'];
错误2:
您需要使用echo
<li><a href="#"><?php echo $row['link']; ?></a></li>
警告:不要使用mysql_*
函数,因为它是depreciated而是使用mysqli或PDO进行更安全的操作!