Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/04/2014, 08:36
Avatar de Djoaq
Djoaq
 
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: Problema con consulta SQL

Hola , te comente que pusieras :
Código PHP:
Ver original
  1. subcategoria='".htmlentities($_POST["subcategoria"])."',

en todos los campos que recibes desde el formulario ...

Necesito ... la consulta exacta que te falla ... y donde la ejecutas en el php.

Te explico , a veces cuando recuperas texto desde una bd de datos y esta lleva un carácter encomillado ... o de escape por ejemplo puede ser que te rompa el fujo de datos ... por ejemplo :

Código MySQL:
Ver original
  1. SELECT dato from tabla where articulo = '$noticia' ;

si
Código PHP:
$noticia 'las song's de los 40
el resultado de la consulta será =
Código MySQL:
Ver original
  1. select dato from tabla where articulo = 'las song's de los 40'

Y como ves .. la consulta se rompe ... y te producirá error...

Para ello se me ocurre:
1-que recojas todos tus peticiones post o get y los trates con
Código PHP:
Ver original
  1. mysql_real_escape_string($_GET("valor"))
antes de hacer ningún insert!
para limpiar todos las comillas ANTES de pasar la consulta.
con lo que la variable que introducira será : las song's de los 40
se convertira en las song/'s de los 40 con lo que agregando la barra invertida (/) antes de la comilla simple mysql la reconocera como parte del valor de cadena y se debería insertar correctamente.

2 para pasar valores get ... es probable que estés incluyendo algún carácter tipo # o tipo ? y eso se lo estas pasando al mysql ... asi que ahí deberías usar htmlentities($_GET["valor"]);