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: 17 años, 4 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 SQLel error es You have an error in your SQL syntaxcheck 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: 15 años
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: 17 años, 4 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: 15 años
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: 17 años, 4 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: 15 años
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: 17 años, 4 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: 15 años
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: 17 años, 4 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: 15 años
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: 19 años, 8 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: 17 años, 4 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: 17 años, 4 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: 15 años
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: 17 años, 4 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 22:15.