Например, у меня есть запрос MySQL, который получает некоторые данные.Затем запускает другой запрос на основе некоторых полученных данных.
Если я просто верну первый запрос, в моем случае $qOne
.Все отлично работает.
НО, после использования моего цикла while while ($row = mysql_fetch_array($qOne))
Затем он возвращается как пустой массив.(но второй запрос, который я возвращаю, работает)
Я пытался посмотреть, смогу ли я "сохранить" первый запрос в другой переменной, с которой у меня не получилось вот так $savedResult = $qOne
, тогда я просто вернул бы $saveResult, но это не сработало.
Кто-нибудь знает, как я могу получить свою функцию ниже, чтобы вернуть оба результата?Спасибо!
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);
}