Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/02/2013, 01:54
cjl0
 
Fecha de Ingreso: mayo-2005
Mensajes: 3
Antigüedad: 19 años
Puntos: 0
Respuesta: SPRINT (Dos condiciones igual a un mismo GET)

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Pues yo miro el manual de referencia ([URL="http://php.net/manual/es/function.sprintf.php"]PHP - sprintf[/URL]), y no veo problemas en entender los ejemplos de cómo crear una consulta con varios parámetros entrantes.
¿Cuál es exactamente tu duda?
Que cualquiera de los campos: "categoria_id" o "categoria_2" sean igual a un mismo valor que envié por GET.
Es muy sencillo hacerlo en una query, pero con sprintf no acierto bien.

Por ejemplo,
//Tengo un valor:
$categoria = 30
query="SELECT * FROM tabla_categorias WHERE categoria_1 = 30 OR categoria_2=30 OR categoria_3=30"; //(fácil, pero susceptible de SqlInyection)

//He comprobado que esto me funciona:
sprintf("SELECT * FROM tabla_categorias WHERE categoria_1 = %s OR categoria_2= %s OR categoria_3= %s", GetSQLValueString($categoria, "int"),GetSQLValueString($categoria, "int"),GetSQLValueString($categoria, "int"));

//Pero.......¿SE PUEDE SIMPLIFICAR A ALGO ASÍ O PARECIDO?
sprintf("SELECT * FROM tabla_categorias WHERE ((categoria_1,categoria_2,categoria_3) = %s)", GetSQLValueString($categoria, "int"));
...para poder declarar sólo una vez GetSQLValueString($categoria, "int")?