我试图在DIV中回显mysql表中的行,但是如果我把它放在那里不起作用:
echo $row['test'];
在while( $row = $result->fetch_assoc() ){
}
内部,它完美无缺,但我想让它显示在DIV标签内。我知道我错过了什么,但不知道它是什么。谢谢你的帮助。
<?php
$mydb = new mysqli('localhost', 'root', '', 'test');
$sql = "SELECT * FROM test order by id limit 1 ";
$result = $mydb->query($sql);
if (!$result) {
echo $mydb->error;
}
while( $row = $result->fetch_assoc() ){
}
$mydb->close ();
?>
<html>
<head>
</head>
<body>
<div><? echo $row['test'];?>
</div>
答案 0 :(得分:1)
你只需要移动你的html和php代码。 $row
存在于while循环内部,并且它在while循环之外。
<?php
$mydb = new mysqli('localhost', 'root', '', 'test');
$sql = "SELECT * FROM test order by id limit 1 ";
$result = $mydb->query($sql);
if (!$result) {
echo $mydb->error;
}
?>
<html>
<head></head>
<body>
<?php while( $row = $result->fetch_assoc() ){ ?>
<div><?php echo $row['test'];?></div>
<?php
}
$mydb->close ();
?>
</body>
</html>
这将为从数据库中检索的每一行创建一个新的div。
答案 1 :(得分:0)
你在获取之前关闭连接
$mydb->close ();
删除该行并将其放在代码的末尾。
并将你的html代码放在while循环中。
<?php
$mydb = new mysqli('localhost', 'root', '', 'test');
$sql = "SELECT * FROM test order by id limit 1 ";
$result = $mydb->query($sql);
if (!$result) {
echo $mydb->error;
}
?>
<html>
<head>
</head>
<body>
<div>
<?php
while( $row = $result->fetch_assoc() ){
echo $row['test'];
}
$mydb->close ();
?>
</div>
</body>
</html>
答案 2 :(得分:0)
您只需再次将$row['test']
置于while
块内,然后移动HTML。
<?php
$mydb = new mysqli('localhost', 'root', '', 'test');
$sql = "SELECT * FROM test order by id limit 1 ";
$result = $mydb->query($sql);
if (!$result) {
echo $mydb->error;
}
?>
<html>
<head>
</head>
<body>
<div>
<?php
while( $row = $result->fetch_assoc() ){
echo $row['test'];
}
$mydb->close ();
?>
</div>
</body>
</html>