Foros del Web » Programando para Internet » PHP »

Insertar apóstrofe en Mysql

Estas en el tema de Insertar apóstrofe en Mysql en el foro de PHP en Foros del Web. Buenos días, he estado googleando pero finalmente tengo que acudir a ustedes. El tema es que tengo una base de datos MySql, en la que ...
  #1 (permalink)  
Antiguo 21/08/2012, 05:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 20
Antigüedad: 15 años
Puntos: 2
Insertar apóstrofe en Mysql

Buenos días, he estado googleando pero finalmente tengo que acudir a ustedes.

El tema es que tengo una base de datos MySql, en la que importo ciertos datos de otra tabla, y siempre que encuentra un ápóstrofe (') reporta error y no ejecuta la consulta.

He leido que se puede solucionar con mysql_real_escape_string() pero no acierto a utilizarlo.

Mi consulta es:

Código:
$actu_cab="INSERT INTO cabecera ( cod_plat, cod_ca, cod_alb, den_ref, den_prov, f_ped, f_alb, cod_loc, den_loc, creation_date )
SELECT import_gt.cod_plat, import_gt.cod_ca, import_gt.cod_alb, import_gt.den_ref, import_gt.den_prov, import_gt.f_ped, import_gt.f_alb, import_gt.cod_loc, import_gt.den_loc, Now() AS creation_date
FROM import_gt
Los campos que a veces traen apóstrofes son: import_gt.den_ref, import_gt.den_prov.

Gracias por la ayuda.
Saludos
  #2 (permalink)  
Antiguo 21/08/2012, 06:23
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 15 años, 9 meses
Puntos: 53
Exclamación Respuesta: Insertar apóstrofe en Mysql

Te recomiendo revises la función htmlentities que te permite convertir un conjunto de de caracteres con equivalencia HTML a las entidades de este mismo. Entre las conversiones que éste hace está la de manipulación de comillas simples y dobles.

Por ejemplo:

Código PHP:
<?php
$field 
"Yo soy un 'campo con comillas simples, o bien podrían ser dobles'.";

echo(
htmlentities($fieldENT_QUOTES));
?>
El código fuente generado para esta salida es:
Código:
Yo soy un &# 039;campo con comillas simples, o bien podr&Atilde;*an ser dobles &# 039;.
Ahora, lo que te recomiendo es que apliques este pequeño filtro a la hora de hacer el respectivo INSERT.

Buena suerte.
__________________
Programar dejó de ser una profesión acusada en la oscuridad y disfrutada fríamente... para convertirse en un arte.

Etiquetas: mysql
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 14:10.