PHP从数据库取出来的数据只能使用一次?
我是这样写的:<?php$conn=newPDO("./test.db");$rs=$conn->query("select*fromuser");print_r($rs...
我是这样写的:
<?php
$conn=new PDO("./test.db");
$rs=$conn->query("select * from user");
print_r($rs->fetchAll()); //或者这儿用print_r(count($rs->fetchAll()));
print_r($rs->fetchAll());
?>
然后结果是第一个print_r取到了数据,第二个print_r没得数据,这是怎么回事呢?$rs这个变量不能重复利用的吗?应该怎么解决这个问题?我现在的办法是每要用一次$rs的时候就做一次查询,但是这样写起很麻烦呀! 展开
<?php
$conn=new PDO("./test.db");
$rs=$conn->query("select * from user");
print_r($rs->fetchAll()); //或者这儿用print_r(count($rs->fetchAll()));
print_r($rs->fetchAll());
?>
然后结果是第一个print_r取到了数据,第二个print_r没得数据,这是怎么回事呢?$rs这个变量不能重复利用的吗?应该怎么解决这个问题?我现在的办法是每要用一次$rs的时候就做一次查询,但是这样写起很麻烦呀! 展开
若以下回答无法解决问题,邀请你更新回答
2个回答
展开全部
$conn->query这种方法我没用过,不清楚。但是你这问题要解决很简单啊:$rows = $rs->fetchall(); 然后$rows不就可以无限用了?
更多追问追答
追问
我试了一下,如果两个都是用fetchAll()是可以的,但是如果前面用了另外一个函数或者方法还是不行,比如:
$count=count($rs-fetchAll());
print_r($count);
$row=$rs->fetchAll();
print_r($row);
这样还是不行哒,只有第一个有数据。
追答
你改成$rows=$rs->fetchall();
print count($rows);
print_r($rows);不就可以了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-23 · 知道合伙人互联网行家
关注
展开全部
不知道是否涉及mysql_data_seek($rs,0);的问题,你可以尝试一下,执行完一次只用使用mysql_data_seek重置一下mysql的结果指针。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询