Tranasciando gli evidenti problemi di sicurezza del tuo codice (es. SQL Injection), sei sicuro che la riga 23 sia effettivamente "while ($row = mysql_fetch_array($result))" e non una successiva?
Se inserisci un var_dump($result) dopo la chiamata a mysql_query() che cosa ottieni?