dominios y alojamiento web en hostalia

Ejecución de sentencias SQL y caracter comilla

El método de acceder a las bases de datos que más utilizáis es mediante la creación de una sentencia SQL que se compone con sintaxis SQL y variables...

La FAQ Ejecución de sentencias SQL y caracter comilla tiene

Pertenece a la categoría:

Pregunta
El método de acceder a las bases de datos que más utilizáis es mediante la creación de una sentencia SQL que se compone con sintaxis SQL y variables que recogéis de formularios.


Efectivamente, esta forma es muy sencilla, pero que pasaría si por ejemplo en el valor de la variable recogida para componer la sentencia ponemos el caracter comilla, pues esto haria que la sentencia SQL creada fuese erronea y nos daria un error.



Respuesta de Miguel Angel Alvarez
Tienes razón, si ponemos el caracter comilla se jode la sentencia, pero entonces lo único que tienes que hacer es buscar comillas en el texto antes de crear la sentencia y sustituirlas por otro caracter o por su correspondiente código de caracter especial de HTML.


En ASP dispones de la funcíón replace para sustituir caracteres dentro de un string:


Replace(expression, find, replacewith[, start[, count[, compare]]])


En PHP la función para sustituir es str_replace:


str_replace ( mixed search, mixed replace, mixed subject)

Complementar la respuestaComplementar la respuesta
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios
Fueron enviados 4 comentarios a la faq
3 comentarios no revisados
1 comentario revisado:
Por: Aure
07/8/2004
De echo, en php, si le agregamos una barra a la comilla, la consulta se ejecuta correctamente...
para ello siempre utilizo addslashes($valor) a los valores a insertar en la BD, esto previene q se inserten datos erroneos i aumenta la seguridad en nuestro script

Volver al árbol de categoríasVolver al árbol de categorías

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...