php - 为什么它不会循环? (PHP 和 MySQL)

标签 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);
  }
?>

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

screeshot result

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

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

<?php printf("%s", $row[0]); ?>
&
<?php printf("%s", $row[1]); ?>

它循环并带来所有结果。

这会不会是语法错误?

最佳答案

mysql_free_result($result); 在你的 while 循环中。这使得在第一次迭代后,它会清除结果,因此无法再获取更多内容。

将结尾更改为

<?php
  }
mysql_free_result($result);
?>

它会修复它

关于php - 为什么它不会循环? (PHP 和 MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3935099/

相关文章:

php - 原则一对多关系不会保存 - 违反完整性约束

mysql - 错误 1045 (28000) 访问被拒绝 cloudSQL

javascript - 奇怪的 if-else 行为 Javascript

php - 文本框和表格字段使用相同的名称是否存在安全问题?

php - 在 Cakephp 中将两个模型之间的表链接在一起

php - 在 MySQL 中选择第一个大于 x 的值

mysql - 不同行上两个列值之间的天数

PHP While 循环从多个 'Joined' 表中分离唯一类别

java - 简单的for循环,初学者

loops - 当我只关心一个变体而不关心变体中的值时,循环匹配的惯用方法是什么?