Korzystasz z zasobu , czyli nie liczba całkowita, jako liczba całkowita. Nawet jeśli widzisz liczbę, gdy ją sprawdzasz, w rzeczywistości nie jest to liczba całkowita. Jest to identyfikator zasobu powiązany z Twoim połączeniem MySQL.
Jeśli chcesz użyć go jako liczby całkowitej, myślę możesz rzucić to na liczbę całkowitą przed użyciem (właściwie nigdy tego nie próbowałem).
if($query_id)
{
$id = (int) $query_id;
$this->q_array[$id] = @mysql_fetch_array($query_id,MYSQL_ASSOC); // LINE 124
return $this->q_array[$id]; //LINE 125
}