por favor, lee el manual...
http://php.net/mysql_error
¿cuando dije que usaras la consulta como argumento de la función mysql_error()?
no, solo imprimela tal cual después de la consulta de error...
Código PHP:
$insertar="INSERT INTO em_specific_price (id_specific_price,id_product,id_shop,id_currency,id_country,id_group,price,from_quantity,reduction,reduction_type,from,to) VALUES ('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]')";
mysql_query($insertar);
echo mysql_error();