PHP - Insertar texto con apostrofo en campo base de datos mysql

   
Vista:

Insertar texto con apostrofo en campo base de datos mysql

Publicado por yaney yaney.paz75@gmail.com (10 intervenciones) el 14/06/2017 10:20:26
hola a todos.
Soy muy nueva en la programacion y tengo un problema al insertar textos donde haya apostrofo en campos de una base de datos mysql, los cuales lleno mediente un formulario en php.
he leido mucho sobre el uso de mysql_real_escape_string, pero no logro acabar de entender como usarlo.
tengo un formulario que tiene el campo apellido y quiero que en este campo pueda insertarse un apellido como por ejemplo D'Agostino.
cuando uso la funcio mysql_real_escape_string($apellido); me da error de acceso a la base de datos
Se que esto puede ser un problema de seguridad, algo que tiene que ver con las inyecciones sql, como les dije antes, estoy empezando y soy muy novata en esto, si alguien me pudiera aclarar brevemente como poder escribir el codigo en php usando la funcion mysql_real_escape_string se lo agradecere mucho.
no se como incluirlo en mi query Insert into personas(apellido) value ($apellido);
de manera que cuando el usuario escriba su nombre con el apostrofo no de errores.
Espero de haber explicado, pues en otros foros he leido y solo dicen: usa mysql_real_escape_string, pero no se como escribir el codigo. Gracias de antemano.
Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip

Insertar texto con apostrofo en campo base de datos mysql

Publicado por kip (861 intervenciones) el 15/06/2017 06:59:17
Hola, debes usar la funcion addslashes() para escapar las comillas simples o dobles http://php.net/manual/es/function.addslashes.php

1
2
3
4
<?php
$str = "Is your name O'Reilly?";
 
echo addslashes($str);

El ejemplo de arriba pertenece a la documentacion, dale una mirada e implementalo en tu codigo.

Ahora bien si el problema es seguridad, te recomiendo usar PDO con sentencias preparadas:
http://php.net/manual/es/pdo.prepare.php

Si usas mysqli, pues puedes implementar lo mismo:
http://php.net/manual/es/mysqli-stmt.prepare.php

Que extension usas para conectarte a MySQL ?
Si es mysql_* debes tener en cuenta que esta obsoleta y a partir de la version 7 de PHP fue removida, puedes usar alguna de arriba, ya sea PDO o mysqli_*, en la documentacion tienes todo para migrar sin problemas!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar