Проблема с циклом PHP в ассоциативном массиве

У меня есть два цикла while, заполняющих ассоциативные массивы - однако я могу запускать по одному (т.е. комментировать другой), однако, когда я запускаю оба одновременно, я получаю сообщение об ошибке сервера. Несмотря на то, что запросы не запрашивают тот же набор данных, я все же попытался добавить сброс указателя, но безуспешно. Вот две петли:

$thecurrent = array();
$getusers = "SELECT score, uid, like_id FROM wetique_scores GROUP BY like_id;";
$gotusers = mysql_query($getusers,$con);


while ($row = mysql_fetch_array($gotusers))
{
    $score = $row['score'];
    $userid = $row['uid'];
    $likeid = $row['like_id'];
    $comboid = $userid.$likeid;
    $thecurrent[$comboid] = $score;
}

// 2. вычисляем новый счет из базы данных и создаем массив $new

$new = array();
$getusers2 = "SELECT like_id, sum(friend_rating), uid from likes l, friendships f WHERE l.friend_id = f.friend_id GROUP BY l.like_id;";
$gotusers2 = mysql_query($getusers2,$con);
while ($rowb = mysql_fetch_array($gotusers2))
{
    $scoreb = $rowb['sum(friend_rating)'];
    $useridb = $rowb['uid'];
    $likeidb = $rowb['like_id'];
    $comboidb = $useridb.$likeidb;
    $new[$comboidb] = $scoreb;   
}

1 ответ

Решение

1) нет 'l_id' в выбранных полях ваших запросов, так $rowb['l_id'] или же $row['l_id'] будет генерировать уведомление.

2) from l, fips f это опечатка, я надеюсь?

3) Ваш GROUP BY l_id не понятно Все строки с одинаковыми l_id имеет то же самое score, uid, like_id? Очень странно.

4) Использование mysql_free_result после каждого цикла http://ru2.php.net/manual/en/function.mysql-free-result.php

Другие вопросы по тегам