为什么不循环?(PHP和MySQL)

Tru*_*ufa 0 php mysql loops while-loop

我写了这段代码:

<?php
mysql_connect("localhost", "root", "root") or
    die("Could not connect: " . mysql_error());
mysql_select_db("internal");

$result = mysql_query("SELECT Title, Message FROM msg");
?>

<?php

  while ($row = mysql_fetch_array($result, MYSQL_NUM)){
?>

     <div>
         <h3><a href="#"><?php printf("%s", $row[0]); ?></a></h3>
         <div><?php printf("%s", $row[1]); ?></div>
     </div>

<?php
 mysql_free_result($result);
  }
?>
Run Code Online (Sandbox Code Playgroud)

我得到的结果是MySQL表的第一行(使用正确的格式)我包含一个图像以防万一:

screeshot结果

(这实际上是我的MySQL数据库的第一行,也是我唯一看到的)

代码循环,直到我不得不添加html标签,我的意思是,如果我只是这样做:

<?php printf("%s", $row[0]); ?>
&
<?php printf("%s", $row[1]); ?>
Run Code Online (Sandbox Code Playgroud)

它循环并带来了所有结果.

这可能是语法错误吗?

Tar*_*rka 5

mysql_free_result($result);在你的while循环中.这使得在第一次迭代之后,它清除了结果,因此不再能够获取结果.

将结尾更改为

<?php
  }
mysql_free_result($result);
?>
Run Code Online (Sandbox Code Playgroud)

它会解决它