L'uso dell'error-control-operator è fortemente sconsigliato a meno che tu non sia consapevole di ciò che tu stia facendo.
L'uso del di mysql_* è ancor più fortemente sconsigliato. Ti consiglio di passare a PDO e di iniziare a fare uso di prepared statements.
Usa var_dump sulle funzioni che stai chiamando e vedi cosa ti danno.