从数据库中获取结果

时间:2013-08-06 20:04:47

标签: php mysql mysqli

我试图在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>                            

3 个答案:

答案 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>