Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Altas De Registros Con Apóstrofes

Estas en el tema de Altas De Registros Con Apóstrofes en el foro de Bases de Datos General en Foros del Web. Hola a todos! Tengo una duda que no sé cómo solucionarla. Básicamente, estoy haciendo un sitio en PHP con base de datos en MySQL. Hago ...
  #1 (permalink)  
Antiguo 09/02/2004, 22:01
 
Fecha de Ingreso: junio-2002
Mensajes: 4
Antigüedad: 21 años, 11 meses
Puntos: 0
Altas De Registros Con Apóstrofes

Hola a todos! Tengo una duda que no sé cómo solucionarla.
Básicamente, estoy haciendo un sitio en PHP con base de datos en MySQL. Hago el alta de registros con INSERT INTO, pero como todos sabemos, cuando el dato es alfanumérico, tiene que estar entre apóstrofes o comillas simples (').
El problema, es que cuando ingreso un dato que tiene apóstrofe (por ej. "It's my life") toma a ese símbolo como si cerrara la instrucción.
Ejemplo:
INSERT INTO tabla (campo) VALUES ('It's my life');
Como pueden ver, el apóstrofe de It's cierra la frase y MySQL lo entiende como INSERT INTO tabla (campo) VALUES ('It' y entonces da error y no ingresa nada. ¿Alguien sabe cómo solucionar esto? No puedo prohibir el ingreso de apóstrofes.

Si alguien me lo puede contestar, GRACIAS!!!
  #2 (permalink)  
Antiguo 10/02/2004, 04:35
 
Fecha de Ingreso: febrero-2004
Mensajes: 12
Antigüedad: 20 años, 3 meses
Puntos: 0
Prueba a utilizar tilde en lugar de apóstrofe:
'It´s' en vez de 'It's'. Utiliza REPLACE para cambiar los apóstrofes por tildes.
De todos modos puedes indicar un apóstrofe utilizando dos ''. Esto: select 'It''s' from dual; te da como resultado: It's. Salu2
  #3 (permalink)  
Antiguo 10/02/2004, 08:15
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 11 meses
Puntos: 16
Hola,

Puedes "escapar" los caracteres peligrosos para MySQL con la funcion mysql_escape_string() (www.php.net/mysql_escape_string).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 10/02/2004, 10:30
 
Fecha de Ingreso: junio-2002
Mensajes: 4
Antigüedad: 21 años, 11 meses
Puntos: 0
Gracias por las respuestas! Pero no puedo reemplazarlo por otros caracteres porque no soy yo solo el que va a cargar datos. Pero esa instrucción que saca los caracteres peligrosos, solamente los saca o hace algo para que los tome?
  #5 (permalink)  
Antiguo 02/05/2005, 10:57
Avatar de acervantes  
Fecha de Ingreso: agosto-2003
Ubicación: Madrid
Mensajes: 311
Antigüedad: 20 años, 9 meses
Puntos: 1
haz lo que te dice ajojara, utiliza el REPLACE, sino existe créala, y por cada ' que te reemplace por '', funciona...
__________________
ACervantes

[El éxito dura hasta que alguien las caga; los errores son eternos]
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 07:18.