Lo que pasa es que haces el query, y después intentas hacer un query a ese query. Mira:
Código PHP:
$q4 = mysql_query(" INSERT INTO perfil (nombre, codigo) VALUES ('".$value."','".$key."') ");
//$q4 es un query (por eso te lo inserta)
$insertar_perfil = mysql_query($q4);
//$insertar_perfil es otro query, pero como no es una sentencia válida (es el resultado de otro query, pues da error
if (!$insertar_perfil) {
echo "Error: " . mysql_error();
} else {
echo "Insertado: " . $value;
}
Sería así:
Código PHP:
$q4 = mysql_query(" INSERT INTO perfil (nombre, codigo) VALUES ('".$value."','".$key."') ");
if (!$q4) {
echo "Error: " . mysql_error();
} else {
echo "Insertado: " . $value;
}