Bueno, mira que en este trozo de codigo:
,".$provincia.",".$categoria.",".$subcategoria."," .$id_usuario.",0)"
le hacen falta las comillas simples para encerrar las cadenaas de texto.
yo en lo peronal no concateno las sentencias SQL yo lo hago asi porque me parece mas facil de manejar:
Código PHP:
Ver original"INSERT INTO unaTabla (campo1, campo2, campo3, campoN) VALUES ('$variable1', '$variable2', '$variable3', '$variableN')";
Recuerda que las comillas dobles no son tan literales como las simples, esto nos da como resultado que PHP analice las variables antes de realizar la INSERCIÓN cosa que no es posible con las comillas simples ya que estas no analizan las variables e imprimen tal cual lo que estas encierran.