This is what happens when you develop with inadequate debug code.
You should always have some sort of code like this -
$db = mysql_pconnect('blah','blah','blah')
or die('Failed to connect to db server.<br>MySQL error: '.mysql_error());
mysql_select_db('blah')
or die('Failed to select db.<br>MySQL error: '.mysql_error());
$sql = 'blah';
$res = mysql_query($sql, $db)
or die('Query failed.<br>MySQL error:'.mysql_error().'<br>Query: '.$sql);
It makes for more code but it also makes it much easier to debug.
Ideally this should be done in some form of db abstraction layer with better error handling, this is an absolute minimum.