Ver Mensaje Individual
  #12 (permalink)  
Antiguo 16/01/2014, 11:16
MeDxEc
 
Fecha de Ingreso: mayo-2013
Ubicación: Cúcuta
Mensajes: 98
Antigüedad: 11 años
Puntos: 2
Respuesta: ¿Como escapar comillas simples para que no generen errores en consulta?

Me funciona pero no del todo, me escapa las comillas dobles (eso ya es un alivio) pero las simples no.

Este es mi código:

Código PHP:
Ver original
  1. $sql = sprintf("INSERT INTO noticias (titulo, autor, descripcion, keywords, noticia, ruta_imagen, alt_imagen, nombre_imagen, fecha) VALUES ('$titulo', '$autor', '$descripcion', '$keywords','$noticia','$ruta','$alt_imagen','$nombre_imagen', NOW())",
  2.                     mysql_real_escape_string($titulo),
  3.                     mysql_real_escape_string($autor),
  4.                     mysql_real_escape_string($descripcion),
  5.                     mysql_real_escape_string($keywords),
  6.                     mysql_real_escape_string($noticia),
  7.                     mysql_real_escape_string($ruta),
  8.                     mysql_real_escape_string($alt_imagen),
  9.                     mysql_real_escape_string($nombre_imagen));
  10.                    
  11.                     mysql_query($sql, $connect) or die("Error en BBD: ".mysql_error());

Y en el formulario lo estoy probando con el texto: 'escapando comillas simples' y me sale

Código MySQL:
Ver original
  1. Error en BBD: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'escapando comillas simples'', 'Andrés Buitrago', ''escapando comillas simples'.' at line 1

Los campos que maneja el formulario son (en este orden exacto): Titulo, Autor (que es un value que se obtiene mediante $_SESSION), keywords, un campo para subir imagen del tipo 'file', texto alternativo para la imágen, noticia.

Para mayor análisis coloque el nombre de cada campo junto con lo que coloqué en el input y salió esto:

Código MySQL:
Ver original
  1. Error en BBD: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'probando comillas simples titulo'', 'Andrés Buitrago', ''probando comillas simp' at line 1

¿Alguna idea? :(