You should consider formatting it a bit more nicely:
$g = "SELECT * FROM em WHERE emd = $pr";
$q = mysql_query($g, $link_id) or die(mysql_error());
$st = mysql_fetch_array($q);
$sto = "INSERT INTO empl VALUES
('','$st['emp']','$st['emp']','$st['email']',
'$st['ph']','$st['pr']','$st['de']','$st['ee']',
'$st['re']','$st['mre']','$st['mkl']','$st['alp']',
'$st['repri']','$st['ref']','$st['rw']','$st['ll']',
'$st['lpl']','$st['uiou']','$st['mk']')";
$res = mysql_query($sto, $link_id)or die(mysql_error());
The main problem here is with $sto. The array elements should be properly delimited by braces, e.g.,
$sto = "INSERT INTO empl VALUES
('','{$st['emp']}','{$st['emp']}'