Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/02/2009, 16:37
DMR
 
Fecha de Ingreso: noviembre-2003
Mensajes: 105
Antigüedad: 21 años, 4 meses
Puntos: 0
Pregunta problema con las comillas en una consulta de sql

Hola,

A ver si alguien me hecha una mano con este pequeño problema.

Resulta que tengo un formulario para que la gente haga comentarios en una web que estoy haciendo.

La cosa es que he probado a usar esta funcion:

function texto($txt) {
$txt=str_replace("&","&",$txt);
$txt=str_replace("<","&lt;",$txt);
$txt=str_replace(">","&gt;",$txt);
$txt=str_replace(" "," &nbsp;",$txt);
$txt=str_replace(";","",$txt);
$txt=str_replace(chr(92) . "\"","&quot",$txt);
$txt=str_replace(chr(92) . "'","'",$txt);
$txt=str_replace(chr(92) . chr(92),chr(92),$txt);
return $txt;
}


No se si hay algo mas que deba incluir... con el fin de evitar que me pongan codigo html o alguna cosa que me joda la web.

La cosa es que, si me ponen una comilla simple como esta '

me da un error la consulta de sql.

Código:
consulta_db("INSERT cf_comentarios (`nick`,`email`,`comentario`,`id_noticia`) VALUES ('$nombre','$email','$comentario','$idnoticia')");
La cosa es que he probado a poner algo como que $txt=str_replace("'","\'",$txt);

Pero no me la hace.

Supongo que habrá algún mecanismo o algo pero no se me ocurre.

----------------------------------------------------------------------------------------

Por cierto, tengo la web en utf8, pero muchas veces tengo que usar el utf8_decode o el utf8_encode para mostrar segun que caso algunas cosas...

----------------------------------------------------------------------------------------

Mil Gracias.