Stai utilizzando una risorsa , che non un intero, come un intero. Anche se vedi un numero quando lo ispezioni, in realtà non è un vero numero intero. È un ID risorsa associato alla tua connessione MySQL.
Se vuoi usarlo come intero, penso puoi lanciarlo su un numero intero prima di usarlo (in realtà non l'ho mai provato).
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
}