Bien...yo creo que si hay error, aunque lo que te imprime no es el error en si...
fiajte la linea
Código PHP:
or die ($sql .mysql_error().""))
Ahi, si hay error le estas diciendo que imprima $sql si imprimis la query en si, digamos sin pasarla por un mysql_fetch_array/assoc antes de eso, te imprime eso que vos tenes...
Cambia esa linea por esta:
Código PHP:
or die (mysql_error($link)))
Ahi me imagino que te tendria que dar el error en si.
Sino directamente borra el 'or die' y fijate que pasa..