我已经在php.net上阅读了有关该函数的信息,但仍未回答我的问题。我知道一些C语言的基础知识,并且刚开始使用php。通常在C语言中,如果要执行while循环,则需要一些条件来推进循环,直到不再有效,如下所示:
while (x >= 10)
{
printf("...";
printf("x \n";
x++;
}
然而,在我为私信消息系统使用的 PHP 脚本中,我有一个类似于以下的 while 循环:
while($row2 = mysql_fetch_array($query))
跟随着:
{
echo "<table border=1>";
echo "<tr><td>";
echo "Message #: ";
echo $row['id'];
echo "</td></tr>";
echo "<tr><td>";
echo "To: ";
echo $row['to'];
echo "</td></tr>";
echo "<tr><td>";
echo "From: ";
echo $row['from'];
echo " ";
echo "</td></tr>";
echo "<tr><td>";
echo "Message: ";
echo $row['message'];
echo "</td></tr>";
echo "</br>";
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<table border="0">
<tr><td colspan=2></td></tr>
<tr><td></td><td>
<input type="hidden" name="id" maxlength="32" value = "<?php echo $row['id']; ?>">
</td></tr>
<tr><td colspan="2" align="right">
<input type="submit" name="delete" value="Delete PM # <?php echo $row['id']; ?>">
</td>
<td colspan="2" align="right">
<input type="submit" name="reply" value="Reply to <?php echo $row['from']; ?>">
</td></tr>
</table>
<?php } ?>
从C语言角度来看,这似乎会停留在同一位置,并且每次循环都会从相同的“$query”中打印出相同的“数组获取” '行' ......这是如何工作的呢?
我可以以更好的逻辑方式编写这个程序吗?比如说:
$i=0;
while ($row = ($i+mysql_fetch_array($query)) {
...
...
$i++;}
我知道这可能行不通,但是这个函数如何自增?是否有一种编写方式可以使其在代码中实际显示出某种增量?
谢谢
mysql_*
函数编写新代码。它们已不再维护,社区已开始弃用过程。相反,您应该了解有关预处理语句的信息,并使用 PDO 或 MySQLi 中的其中一个。如果您有兴趣学习,这里有一个相当不错的与PDO相关的教程。 - Madara's Ghost