PHP嵌套循环

读取数据库问题<?php$sql="select*fromcatalogwheretopname='0'orderbyiddesc";$db->ExecuteMoreSQ... 读取数据库问题
<?php
$sql="select * from catalog where topname='0' order by id desc";
$db->ExecuteMoreSQL($sql);
while($row=mysql_fetch_array($db->Result))
{
?>
<tr>
<td width="24%" align="right"><img src="images/icon.jpg" style="margin-right:5px;"/></td>
<td width="76%" align="left"><?= $row["name"]?><span class="font_w">>></span></td>
</tr>
<?php
$sq="select * from catalog where topname='".$row[0]."' order by id asc";
$db->ExecuteMoreSQL($sq);//第二个循环 39行
while($rs=mysql_fetch_array($db->Result))
{
?>
<tr>
<td width="24%"> </td><td align="left">  <?=$rs["name"]?></td>
</tr>
<?php }
}
?>

我如果不嵌套里面的循环。外面的就可以正常执行 显示3条记录。
我现在嵌套了一个内循环。程序不出错 但是外循环只显示一条记录了
把我加注释的地方39行改成另一个对象$db1就可以正常显示

谁知道为什么
你的意思我大致明白了,不过这个地方我是用的oop的。
mysql_close($db->ConnID)了 就只显示一行数据了
展开
 我来答
hqiuking
2008-10-24 · 超过35用户采纳过TA的回答
知道答主
回答量:129
采纳率:0%
帮助的人:101万
展开全部
你两次读同一个表,第一次的连接还没关,就读第二个,自然不行.
在中间加个mysql_close,就OK了,然后再重新读绝对没问题.

那我就看不出问题出在哪里了,
不过 给你两个建议,一,遇到错误时候把你的SQL执行语句打印出来,可以排除一些错误,还有就是,你的MYSQL操作类里加上执行过程监视.这样问题就很容易发现.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式