fallo en el codigo

Shock
10 de Agosto del 2004
Este codigo pretende mantener una tabla ONLINE(usr integer, in_time datetime). Al cargar el codigo, si el usuario identificado no esta en la tabla, se lo añade, y si ya estaba se actualiza la fecha. Luego se borran los datos que pasen de 5 minutos de antiguedad, y a continuacion se crea una tabla que muestra todos los usuarios conectados en los ultimos 5 minutos. El caso es que no funciona, y como el servidor tiene configurada la ocultacion de errores, no se lo que pasa ni donde falla; no se muestra nada y da error, eso si, pues en el codigo general a este fragmento le sigue la carga de una imagen y esta no se visualiza

muchas gracias

<?PHP
//MANTENIMIENTO USRS ONLINE
include("sql.php");
if (isset($_SESSION[\'usr\']))
{
$usr=$_SESSION[\'usr\'];
$online=mysql_db_query("judas78_judas","SELECT * FROM ONLINE WHERE usr=\'$usr\'");

if ($row=mysql_fetch_array($online)){
mysql_free_result();
$updt="UPDATE ONLINE SET in_time=NOW() WHERE usr=$usr";
mysql_db_query("judas78_judas",$updt);
}else{
mysql_free_result();
$in="INSERT INTO ONLINE(usr,in_time) VALUES (\'$usr\',NOW())";
mysql_db_query("judas78_judas",$in);
}
}
$delete_old="DELETE FROM ONLINE WHERE (SUBTIME(NOW(),in_time)> INTERVAL 5 MINUTE)";
mysql_query($delete_old);
mysql_close();
?>


<table class="formateo" width="92%" border="1" bgcolor="#666666" bordercolor="#222222" cellspacing="0" cellpadding="1" align="center">
<tr><td bgcolor="#333333" class="strong">Online</td></tr>
<tr><td bordercolor="#000000" bgcolor="#000000">

<?PHP
// INFO POR PANTALLA
include("sql.php");
$qryid=mysql_query("SELECT usr FROM ONLINE");

while ($user=mysql_fetch_array($qryid))
{
$usr=$user[0];
$uqry=mysql_query("SELECT nick FROM USUARIO WHERE usr=$usr");
$nick=mysql_fetch_array($uqry);
echo "<a href=\'ficha.php?usr=".$nick[0]."\'>".nick[0]."</a>, ";
}
mysql_close();
?>
</td></tr></table>