我是网络编程的新手,我正在研究Vikram Vaswani的如何使用PHP和MySQL做一切。接近结束时,他展示了如何制作一个显示新闻项目的网络程序,并允许用户编辑和添加不同的新闻项目。代码似乎不起作用,我已经调整它以使其工作,但我仍然感到困惑。特别是,我有以下代码(这个网站没有很好地处理休息)
// if records present
if (mysql_num_rows($result) > 0)
{
// iterate through resultset
// print article titles
while($row == mysql_fetch_object($result));
{
?>
<li><a href="story.php?Ticker=<?php echo $row->Ticker;?>"><?php echo $row->StockName;?></a></li>
<?php
$row = mysql_fetch_object($result);
echo $row->Ticker;
echo $row->StockName;
<br>
现在,这本书有while ($row = mysql_fetch_object($result));
- 但这没有做任何事情。所以我把它改成了一个相等的比较运算符。我在想循环中底部的$row = mysql_fetch_object($result)
,它应该移动到表的下一行,因为这是http://us2.php.net/manual/en/function.mysql-fetch-object.php每个我自己的测试的正常行为。我可以通过for循环或其他方式做到这一点,但我想弄清楚为什么它不起作用我在这里的预期。
答案 0 :(得分:0)
绝对应该是:
while($row = mysql_fetch_object($result))
{
}
看起来你在while行的末尾有一个分号,然后就会结束while循环。相反,你应该用括号打开一段代码。如果没有返回结果,那么它将为false并退出while循环。
答案 1 :(得分:0)
在while循环中,mysql_fetch_object()返回$ result中的下一行。如果您使用==运算符进行测试则不可能是真的。