例如我有一个mysql查询获取一些数据。然后基于它获得的一些数据运行另一个查询。是否mysql_fetch_array重置查询var?
如果我只是返回第一个查询,在我的案例$qOne
。一切都很好。
但是,使用我的while循环后while ($row = mysql_fetch_array($qOne))
然后它返回一个空数组。 (但第二个查询我返回工作)
我试图看看我是否能够保存第一个查询在另一个变种我没有搞这样$savedResult = $qOne
,然后我只是返回$ savedResult,但这样做不行。
有谁知道如何让我的功能在下面返回两个结果?谢谢!
function getFoods($sort, $start, $limit) {
$qOne = mysql_query("SELECT a.id, a.name, a.type, AVG(b.r) AS fra, COUNT(b.id) as tvotes FROM `foods` a LEFT JOIN `foods_ratings` b ON a.id = b.id GROUP BY a.id ORDER BY fra DESC, tvotes DESC LIMIT $start, $limit;");
$i = 0;
$qry = "";
while ($row = mysql_fetch_array($qOne)) {
$fid = $row['id'];
if ($i > 0)
$qry .= " UNION ";
$i++;
$qry .= "SELECT fid, ing, amount FROM foods_ing WHERE fid='$fid'";
}
$qTwo = mysql_query($qry);
return array($qOne, $qTwo);
}
为什么这样做downvoted?我以前从来没有听说过mysql_data_seek(),或者之前有任何重置mysql_query()的概念。但现在我明白了,希望别人能从中学习。 – brybam 2012-03-23 03:08:12
如果你需要mysql_data_seek(),你做错了什么。 – 2012-03-23 03:10:41
我对mysql/php很新。只是想学习。你的评论没有教我任何东西。 – brybam 2012-03-23 03:23:49