Tu problema son los tipos de datos que le estás enviando a la consulta, supongo que $propsel debe de ser entero
Código PHP:
$propsel = $_POST['idpropiedad'];
echo $propsel;
$edo = $_POST['paises'];
$mun = $_POST['estados'];
$col = $_POST['colonias'];
$idper = $_SESSION['idper'];
$fecha = date("Y-m-d");
if ((isset($_POST["MM_insert2"])) || (isset($_POST["MM_insert3"])) || (isset($_POST["MM_insert1"])) ) {
//particular
if ((isset($_POST["MM_insert2"])) && ($_POST["MM_insert2"] == "form2")) {
$insertSQL = sprintf("INSERT INTO particular (titulo, idtransaccion, idpropiedad, idcuartos, idbanos, amplitud, piscina, seguridad, portero, muebles, cochera, jardin, estacionamiento, descripcion, idedo, idmun, idcol, idimagen, precio, idpersona, fecha_publicacion) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, '$edo', '$mun', '$col', %s, %s, '$idper', '$fecha')",
GetSQLValueString($_POST['titulo'], "text"),
GetSQLValueString($_POST['idtransaccion'], "text"),
GetSQLValueString($propsel, "int"),
GetSQLValueString($_POST['idcuartos'], "text"),
GetSQLValueString($_POST['idbanos'], "text"),
GetSQLValueString($_POST['amplitud'], "text"),
GetSQLValueString(isset($_POST['piscina']) ? "true" : "", "defined","'Y'","'N'"),
GetSQLValueString(isset($_POST['seguridad']) ? "true" : "", "defined","'Y'","'N'"),
GetSQLValueString(isset($_POST['portero']) ? "true" : "", "defined","'Y'","'N'"),
GetSQLValueString(isset($_POST['muebles']) ? "true" : "", "defined","'Y'","'N'"),
GetSQLValueString(isset($_POST['cochera']) ? "true" : "", "defined","'Y'","'N'"),
GetSQLValueString(isset($_POST['jardin']) ? "true" : "", "defined","'Y'","'N'"),
GetSQLValueString(isset($_POST['estacionamiento']) ? "true" : "", "defined","'Y'","'N'"),
GetSQLValueString($_POST['descripcion'], "text"),
GetSQLValueString($_POST['idimagen'], "text"),
GetSQLValueString($_POST['precio'], "text"));
mysql_select_db($database_inmo, $inmo);
$Result1 = mysql_query($insertSQL, $inmo) or die(mysql_error());
} elseif ((isset($_POST["MM_insert3"])) && ($_POST["MM_insert3"] == "form3")) {
$insertSQL = sprintf("INSERT INTO edificio (titulo, idtransaccion, idpropiedad, idpersona, fecha_publicacion, idedo, idmun, idcol) VALUES (%s, %s, %s, '$idper', '$fecha', '$edo', '$mun', '$col')",
GetSQLValueString($_POST['titulo'], "text"),
GetSQLValueString($_POST['idtransaccion'], "text"),
GetSQLValueString($propsel, "int"),
GetSQLValueString($_POST['idimagen'], "text"),
GetSQLValueString($_POST['idpersona'], "text"),
GetSQLValueString($_POST['fecha_publicacion'], "date"));
mysql_select_db($database_inmo, $inmo);
$Result1 = mysql_query($insertSQL, $inmo) or die(mysql_error());
} else {
$insertSQL = sprintf("INSERT INTO comercial (titulo, idtransaccion, idpropiedad, idimagen, idpersona, fecha_publicacion, idedo, idmun, idcol) VALUES (%s, %s, %s, %s, ‘$idper’, $fecha, %s, %s, %s)",
GetSQLValueString($_POST['titulo'], "text"),
GetSQLValueString($_POST['idtransaccion'], "text"),
GetSQLValueString($propsel, "int"),
GetSQLValueString($_POST['idimagen'], "text"),
GetSQLValueString($_POST['paises'], "text"),
GetSQLValueString($_POST['estados'], "text"),
GetSQLValueString($_POST['colonias'], "text"));
mysql_select_db($database_inmo, $inmo);
$Result1 = mysql_query($insertSQL, $inmo) or die(mysql_error());
}
$insertGoTo = "Index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
Por cierto si ya estás utilizando sprintf deberías de utilizarlo para las demás variables que le estás enviando y no imprimirlas directo en la cadena.