Check your string quotes; if this is a copy/paste then you have used single quotes to start the query but double quotes to end it - which they will not so your query is all screwed.
Try this construction when developing
$result = mysql_query($sql) or die($sql . '<br />' . mysql_error());
This will display both the query string and the error message it generated.
Your problem may be that you are using the same var name, $sql, for both the qiery sytring and the resultset. Try changing one or the other.