Hola.
Tengo una tabla en mi base de datos que se llama comunas y tiene los campos, id_comuna y descripcion_comuna. En id los valores son numerico (1,2,3,4.....N) y en descripcion es el nombre (Santiago,Lo prado, Maipu, Etc).
Tengo unos formularios en donde ingreso y modifico informacion de personal, y uno de los parametros es la comuna que selecciono la descripcion de un combobox. El problema se presenta cuando la descripcion que esta en el combobox tiene un caracter Ñ que hace que cuando yo consulto por la opcion seleccionada para tomar su id y poder insertarlo/modificarlo, no me selecionada nada y el insert se ejecuta de forma incorrecta y se cae mi aplicacion. En cambio si la opcion que se escogio del combobox no tiene Ñ no hay ningun problema y el insert/modificar se ejecuta sin problemas.
Aqui mi codigo:
Código php:
Ver originalrequire ('base_de_datos.php');
$consulta = 'SELECT id_comuna FROM comuna WHERE descripcion_comuna = "'.$_POST['slt_comunas_modificar'].'"';
$consulta = 'SELECT id_ciudad FROM ciudad WHERE descripcion_ciudad = "'.$_POST['slt_ciudades_modificar'].'"';
$consulta= 'UPDATE personal SET nombres_personal = "'.mysql_real_escape_string($_POST['txt_nombre_personal_modificar']).'" , apellido_paterno_personal = "'.mysql_real_escape_string($_POST['txt_paterno_personal_modificar']).'" , apellido_materno_personal = "'.mysql_real_escape_string($_POST['txt_materno_personal_modificar']).'" , direccion_personal = "'.mysql_real_escape_string($_POST['txt_direccion_personal_modificar']).'" , id_comuna = '.$id_comuna[0].', id_ciudad = '.$id_ciudad[0].' WHERE rut_personal = "'.substr($_POST['txt_rut_personal_modificar'],0,-2).'"'; echo("$consulta");
Aqui dejo lo la consulta cuando se seleciono un parametro con Ñ:
Código php:
Ver originalUPDATE personal SET
nombres_personal = "Jorge Enrique" ,
apellido_paterno_personal = "Ruiz" ,
apellido_materno_personal = "Lopez" ,
direccion_personal = "Pasaje Esperanza #0245" ,
id_comuna = ,
id_ciudad = 1
WHERE rut_personal = "13902056"
Y el error
Código PHP:
Error en la consulta SQL, el error es : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near id_ciudad = 1 WHERE rut_personal = "13902056"
Si la comuna no tiene Ñ, se ejecuta de manera correcta mi consulta:
Código php:
Ver originalUPDATE personal SET
nombres_personal = "Jorge Enrique" ,
apellido_paterno_personal = "Ruiz" ,
apellido_materno_personal = "Lopez" ,
direccion_personal = "Pasaje Esperanza #0245" ,
id_comuna = 20,
id_ciudad = 1
WHERE rut_personal = "13902056"
Gracias!