-1

我正在制作一个 PHP 来检查朋友关系表中的朋友 ID,然后返回朋友的信息。问题是,第一个循环循环了 2 次,没错,当我检查第二个循环的计数值时,我发现它等于 4,怎么会发生这种情况,第二个表有 4 行?

这是代码:

   while ($rowres = mysql_fetch_array($listres))
        {
            if ($_GET["ID"] == $rowres["ID"])
            {
                while ($row = mysql_fetch_array($result)) 
                {
                    $count++;
                     if ($rowres["FID"] == $row["ID"])
                        {

                        }
                }

            }
        } 
4

1 回答 1

2

内部循环将只循环结果一个循环,因为在它循环到 $result 的最后一个元素之后 result 的指针将指向最后一个元素之后,这里最简单的方法可能是将指针重置为顶部:

while ($rowres = mysql_fetch_array($listres))
        {
            if ($_GET["ID"] == $rowres["ID"])
            {
                mysql_data_seek($result,0);  //<-HERE
                while ($row = mysql_fetch_array($result)) 
                {
                    $count++;
                     if ($rowres["FID"] == $row["ID"])
                        {

                        }
                }

            }
        } 

请注意:mysql 扩展已弃用,将来将被删除。而是使用mysqliPDO

于 2012-12-14T22:35:53.860 回答