Foros del Web » Programando para Internet » PHP »

Problema con caracter Ñ al insertar/modificar en mi base datos

Estas en el tema de Problema con caracter Ñ al insertar/modificar en mi base datos en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/12/2009, 14:08
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 19 años, 2 meses
Puntos: 0
Problema con caracter Ñ al insertar/modificar en mi base datos

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 original
  1. require ('base_de_datos.php');
  2.         $conexion = mysql_connect ($host,$usuario,$password) or die (' Error en la conexion, el error es: ' .mysql_error());
  3.         mysql_select_db ($bd, $conexion) or die (' Error en la seleccion de base datos, el error es : ' .mysql_error());
  4.        
  5.         $consulta = 'SELECT id_comuna FROM comuna WHERE descripcion_comuna = "'.$_POST['slt_comunas_modificar'].'"';
  6.         $resultado = mysql_query($consulta,$conexion) or die ('Error en la consulta SQL, el error es : '.mysql_error());
  7.         $id_comuna = mysql_fetch_row($resultado);
  8.        
  9.         $consulta = 'SELECT id_ciudad FROM ciudad WHERE descripcion_ciudad = "'.$_POST['slt_ciudades_modificar'].'"';
  10.         $resultado = mysql_query($consulta,$conexion) or die ('Error en la consulta SQL, el error es : '.mysql_error());
  11.         $id_ciudad = mysql_fetch_row($resultado);
  12.        
  13.         $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).'"';
  14.     echo("$consulta");

Aqui dejo lo la consulta cuando se seleciono un parametro con Ñ:

Código php:
Ver original
  1. UPDATE personal SET
  2. nombres_personal = "Jorge Enrique" ,
  3. apellido_paterno_personal = "Ruiz" ,
  4. apellido_materno_personal = "Lopez" ,
  5. direccion_personal = "Pasaje Esperanza #0245" ,
  6. id_comuna = ,
  7. id_ciudad = 1
  8. 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 original
  1. UPDATE personal SET
  2.       nombres_personal = "Jorge Enrique" ,
  3.       apellido_paterno_personal = "Ruiz" ,
  4.       apellido_materno_personal = "Lopez" ,
  5.       direccion_personal = "Pasaje Esperanza #0245" ,
  6.       id_comuna = 20,
  7.       id_ciudad = 1
  8.       WHERE rut_personal = "13902056"


Gracias!
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #2 (permalink)  
Antiguo 09/12/2009, 14:11
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 16 años, 10 meses
Puntos: 65
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Lo que mostras en el combobox dejalo con ñ, pero el value ponelo con n
  #3 (permalink)  
Antiguo 09/12/2009, 14:35
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Cita:
Iniciado por jackson666 Ver Mensaje
Lo que mostras en el combobox dejalo con ñ, pero el value ponelo con n
Cuando me dices eso, haces referencia a que tenga que cambiarles el nombre a mis parametros en la base de datos?

Ejemplo: ñuñoa ---->nunoa ¿?


Gracias
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #4 (permalink)  
Antiguo 09/12/2009, 14:46
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 16 años, 10 meses
Puntos: 65
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Si, a eso me referia =)
  #5 (permalink)  
Antiguo 09/12/2009, 14:49
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Es que no creo que sea una solucion, si el problema esta pasando a nivel del php, yo mediante Mysql query Browser puedo trabjar sin problemas con algun parametro con Ñ.
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #6 (permalink)  
Antiguo 09/12/2009, 14:50
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 16 años, 10 meses
Puntos: 65
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

utf8_encode() o utf8_decode()
  #7 (permalink)  
Antiguo 10/12/2009, 09:56
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Hola,
He tratado de ocupar la funcion, utf8_encode() pero no estoy seguro si la forma en que la estoy utilizando es la correcta pues igual con el caracter Ñ persiste el problema.

Aqui mi codigo:

Código php:
Ver original
  1. utf8_encode($_POST['slt_comunas_modificar']);
  2.         $consulta = 'SELECT id_comuna FROM comuna WHERE descripcion_comuna = "'.$_POST['slt_comunas_modificar'].'"';
  3.         $resultado = mysql_query($consulta,$conexion) or die ('Error en la consulta SQL, el error es : '.mysql_error());
  4.         $id_comuna = mysql_fetch_row($resultado);
  5.         //echo("$id_comuna");
  6.         //echo("<br>\n");
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #8 (permalink)  
Antiguo 10/12/2009, 10:18
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 16 años, 10 meses
Puntos: 65
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Cita:
Iniciado por Capote Ver Mensaje
Hola,
He tratado de ocupar la funcion, utf8_encode() pero no estoy seguro si la forma en que la estoy utilizando es la correcta pues igual con el caracter Ñ persiste el problema.

Aqui mi codigo:

Código php:
Ver original
  1. utf8_encode($_POST['slt_comunas_modificar']);
  2.         $consulta = 'SELECT id_comuna FROM comuna WHERE descripcion_comuna = "'.$_POST['slt_comunas_modificar'].'"';
  3.         $resultado = mysql_query($consulta,$conexion) or die ('Error en la consulta SQL, el error es : '.mysql_error());
  4.         $id_comuna = mysql_fetch_row($resultado);
  5.         //echo("$id_comuna");
  6.         //echo("<br>\n");
Nop, las estas usando mal =). Te convendria separar las cosas, asi ganas prolijidad y facilidad a la hora de encontrar errores!

Código php:
Ver original
  1. $columnas=utf8_encode($_POST['slt_comunas_modificar']);
  2.         $consulta = 'SELECT id_comuna FROM comuna WHERE descripcion_comuna = "'.$columnas.'"';
  3.         $resultado = mysql_query($consulta,$conexion) or die ('Error en la consulta SQL, el error es : '.mysql_error());
  4.         $id_comuna = mysql_fetch_row($resultado);
  5.         //echo("$id_comuna");
  6.         //echo("<br>\n");
  #9 (permalink)  
Antiguo 10/12/2009, 11:42
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

De la forma que me mencionas aun me da problemas y me no esta asignando un valor correcto (me deja en blanco el parametro id_comuna) y se cae la aplicacion

Es muy raro, no comprendo
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #10 (permalink)  
Antiguo 10/12/2009, 11:44
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 16 años, 10 meses
Puntos: 65
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

$consulta = 'SELECT id_comuna FROM comuna WHERE descripcion_comuna = '$columnas';

ahi?????????????? Es comuna o columna?????
  #11 (permalink)  
Antiguo 10/12/2009, 11:46
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 21 años, 7 meses
Puntos: 25
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

q error te marca?
__________________
Hospedaje Web al mejor costo!
  #12 (permalink)  
Antiguo 10/12/2009, 12:19
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Cita:
Iniciado por urgido Ver Mensaje
q error te marca?
No es que me marque error, simplemente yo cuando selecciono una comuna de mi combobox y esta tiene el caracter Ñ, sucede que me manda vacio y la aplicacion se cae por que va un vacio a ese parametro (id_comuna) si seleciono cualquier otra comuna que no tenga ñ funciona de manera correcta y puedo insertar su id_comuna sin problemas.
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #13 (permalink)  
Antiguo 10/12/2009, 12:32
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Estoy probando como me menciono @jackson666 ocupando la funcion utf8_encode
sucede que le puse un echo a la variable $comunas y cuando se ha escogido una valor que tenga un caracter Ñ hay un problemas de codificacion.

Código php:
Ver original
  1. $comunas=utf8_encode($_POST['slt_comunas_modificar']);
  2.         echo("$comunas");
  3.         //echo("<br>\n");      
  4.         $consulta = 'SELECT id_comuna FROM comuna WHERE descripcion_comuna = "'.$comunas.'"';
  5.         $resultado = mysql_query($consulta,$conexion) or die ('Error en la consulta SQL, el error es : '.mysql_error());
  6.         $id_comuna = mysql_fetch_row($resultado);

Si la comuna que escogieron del combobox es Peñalolen cuando imprimo $comunas su contenido para ver que tiene me arroja que es Peñalolen y cuando yo pregunto por esa descripcion para tomar su id al no encontrarlo queda vacio y al ejecutarse el update/insert se cae por que ese parametro quedo vacio
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
  #14 (permalink)  
Antiguo 10/12/2009, 12:35
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 16 años, 10 meses
Puntos: 65
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Y con utf8_decode?????
  #15 (permalink)  
Antiguo 10/12/2009, 13:04
Avatar de Capote  
Fecha de Ingreso: julio-2007
Ubicación: C h i l e
Mensajes: 136
Antigüedad: 19 años, 2 meses
Puntos: 0
Respuesta: Problema con caracter Ñ al insertar/modificar en mi base datos

Cita:
Iniciado por jackson666 Ver Mensaje
Y con utf8_decode?????
Me queda arroja esto: Pe�alolen cuando tiene Ñ
__________________
"La blanda respuesta quita la ira, Mas la palabra áspera hace subir el furor"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:59.