Как получить несколько результатов из SQL-запроса

У меня есть эта функция:

function findAllmessageSender(){ $all_from = mysql_query("SELECT DISTINCT `from_id` FROM chat"); $names = array(); while ($row = mysql_fetch_array($all_from)) { $names[] = $row[0]; } return($names); } 

который возвращает весь идентификатор моих пользователей в частной системе обмена сообщениями. Затем я хочу получить все сообщения, в которых user_id равен зарегистрированному пользователю, а from_id равно всем from_id полученному из предыдущей функции:

  function fetchAllMessages($user_id){ $from_id = array(); $from_id = findAllmessageSender(); $data = '\'' . implode('\', \'', $from_id) . '\''; //if I echo out $ data I get these numbers '113', '141', '109', '111' and that's what I want $q=array(); $q = mysql_query("SELECT * FROM chat WHERE `to_id` = '$user_id' AND `from_id` IN($data)") or die(mysql_error()); $try = mysql_fetch_assoc($q); print_r($try); } 

print_r возвращает только 1 результат:

 Array ( [id] => 3505 [from_id] => 111 [to_id] => 109 [message] => how are you? [sent] => 1343109753 [recd] => 1 [system_message] => no ) 

Но должно быть 4 сообщения.