EDIT: fixed typo in "mysql_real_escape_string".
The problem is the quoting (and lack thereof). Also, it's pretty unsafe code right now as far as SQL injection goes. The following should hopefully work better for you:
$query = sprintf(
"insert into detail (company_name, prepare_by, email, employee_no_1 ".
"designation, manager, department, purpose, pay_to, employee_no_2, e-cer) ".
"values('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
mysql_real_escape_string($_REQUEST['company_name']),
mysql_real_escape_string($_REQUEST['prepare_by']),
mysql_real_escape_string($_REQUEST['email']),
mysql_real_escape_string($_REQUEST['employee_no_1']) ,
mysql_real_escape_string($_REQUEST['designation']),
mysql_real_escape_string($_REQUEST['manager']),
mysql_real_escape_string($_REQUEST['department']),
mysql_real_escape_string($_REQUEST['purpose']),
mysql_real_escape_string($_REQUEST['pay_to']),
mysql_real_escape_string($_REQUEST['employee_no_2']),
mysql_real_escape_string($_REQUEST['e-cer'])
);
$insert_res = mysql_query($query) or die (mysql_error());
$rid = mysql_insert_id();