查询结果当然是放入数组或者对象了.
如果不是手动释放资源就等脚本执行结束.
<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();/* Fetch all of the remaining rows in the result set */
print("Fetch all of the remaining rows in the result set:\n");
$result = $sth->fetchAll();
print_r($result);
?>
下面处理$result就行了.数据库关闭是否和他就没关系了.也就是说在获值后就可以关闭数据库连接了
 

解决方案 »

  1.   

    一般没这个必要吧,楼主你可以自己尝试一下,mysql_close()只是释放了连接的资源,查询的结果集已被缓存,除非遇到mysql_free_result()或者脚本执行结束才释放与结果标识符所关联的内存,所以关闭连接后还是可以对查询结果集进行操作的,也不仅没必要把结果集再保存到一个数组当中,这样做只不过是把数据从内存中的一个地方移动到另一个地方,时间白白浪费,而且在某一时刻使一份结果集数据占用了两份内容..
      

  2.   

    LZ不用担心,通过mysql_query语句获得结果集$result后就可以关闭数据库了.你把$result解析成array后,就是普通的数组了啊?不需要转移.
      

  3.   

    看来我还是初级菜鸟,大家都是高手,SysTem128 说的也对,我相对你来说就是初级小菜菜,不过我在努力学习,怎么优化程序结构呢