The previous comments are absolutely correct. I would recommend using the PDO or MySQLi adapters and use a prepared statement for your record insertion as a bare minimum of security. Using the first name as a unique identifier is a bad idea. Don't you have a primary key column in the table?
To answer your actual question, one the problem is with the array notation in the double-quoted string. There are several equals signs missing from your statement as well. Try this:
mysql_query("
UPDATE t2
SET HOSPNUM='" . mysql_real_escape_string($_POST['hnum']) . "',
ROOMNUM='" . mysql_real_escape_string($_POST['rnum']) . "',
LASTNAME='" . mysql_real_escape_string($_POST['lname']) . "',
FIRSTNAME='" . mysql_real_escape_string($_POST['fname']) . "',
MIDNAME='" . mysql_real_escape_string($_POST['mname']) . "',
CSTAT='" . mysql_real_escape_string($_POST['cs']) . "',
AGE='" . mysql_real_escape_string($_POST['age']) . "',
BDAY='" . mysql_real_escape_string($_POST['bday']) . "',
ADDRESS='" . mysql_real_escape_string($_POST['ad']) . "',
STAT='" . mysql_real_escape_string($_POST['stats1']) . "',
STAT2='" . mysql_real_escape_string($_POST['stats2']) . "',
STAT3='" . mysql_real_escape_string($_POST['stats3']) . "',
STAT4='" . mysql_real_escape_string($_POST['stats4']) . "',
STAT5='" . mysql_real_escape_string($_POST['stats5']) . "',
STAT6='" . mysql_real_escape_string($_POST['stats6']) . "',
STAT7='" . mysql_real_escape_string($_POST['stats7']) . "',
STAT8='" . mysql_real_escape_string($_POST['stats8']) . "',
NURSE='" . mysql_real_escape_string($_POST['nurse']) . "',
TELNUM='" . mysql_real_escape_string($_POST['telnum']) . "'
WHERE FNAME='" . mysql_real_escape_string($_POST['fname']) . "'
");
Sonny
2010-02-16 14:54:23