Foros del Web » Programando para Internet » PHP »

duda en consulta

Estas en el tema de duda en consulta en el foro de PHP en Foros del Web. Que tal amigos del foro, tengo una al hacer una consulta, he visto que algunos programadores hacen los siguiente Código PHP: $micampo  =  mysql_real_escape_string ( ...
  #1 (permalink)  
Antiguo 29/02/2012, 11:20
Avatar de timoteo666  
Fecha de Ingreso: agosto-2011
Ubicación: /home/Gdl
Mensajes: 242
Antigüedad: 12 años, 7 meses
Puntos: 11
Busqueda duda en consulta

Que tal amigos del foro, tengo una al hacer una consulta, he visto que algunos programadores hacen los siguiente

Código PHP:
$micampo mysql_real_escape_string($_POST['micampo']);

$sql="SELECT nombre FROM mi_tabla WHERE id='(int)$micampo'"

por que se utliza el (int)$micampo?? es recomendable hacer esto??


ojala me ayuden con estas dudas y me dan mas puntos de vista, gracias.
__________________
( + ) lineas de código ( - ) televisión
  #2 (permalink)  
Antiguo 29/02/2012, 11:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: duda en consulta

Eso esta mal, ya que dentro de la consulta no hace nada, si te refieres fuera de la consulta, es para hacer lo que se conoce como TypeCasting, y sirve para forzar un tipo de dato.

Por ejemplo, sí sabes que lo que esperas es un número, para evitar ataques lo conviertes a un int:

Código PHP:
Ver original
  1. $intnumero = (int) $_GET['numero'];

Así sí pasan una cadena de texto esta es convertida a un número lo cual lo hace más seguro cuando lo pasas a una base de datos.
  #3 (permalink)  
Antiguo 29/02/2012, 12:01
Avatar de timoteo666  
Fecha de Ingreso: agosto-2011
Ubicación: /home/Gdl
Mensajes: 242
Antigüedad: 12 años, 7 meses
Puntos: 11
Respuesta: duda en consulta

Me quedo muy claro con tu explicacion GatorV, gracias por la respuesta

Cita:
Iniciado por GatorV Ver Mensaje
Eso esta mal, ya que dentro de la consulta no hace nada, si te refieres fuera de la consulta, es para hacer lo que se conoce como TypeCasting, y sirve para forzar un tipo de dato.

Por ejemplo, sí sabes que lo que esperas es un número, para evitar ataques lo conviertes a un int:

Código PHP:
Ver original
  1. $intnumero = (int) $_GET['numero'];

Así sí pasan una cadena de texto esta es convertida a un número lo cual lo hace más seguro cuando lo pasas a una base de datos.
__________________
( + ) lineas de código ( - ) televisión
  #4 (permalink)  
Antiguo 29/02/2012, 13:13
Avatar de Vergara  
Fecha de Ingreso: junio-2010
Ubicación: San Francisco California
Mensajes: 249
Antigüedad: 13 años, 10 meses
Puntos: 6
Respuesta: duda en consulta

timoteo, no olvides darle karma al amigo GatorV
__________________
keubo.com

Etiquetas: mysql, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:13.