Foros del Web » Programando para Internet » PHP »

consulta en varios campos

Estas en el tema de consulta en varios campos en el foro de PHP en Foros del Web. Hola a todos tengo esta consulta mysql_select_db($database_Astur, $Astur); if ($_GET["select"]="Especie") { $_pagi_sql = "SELECT * FROM astur WHERE ".$_GET["select"].", Sinonimos LIKE '%".$_GET["palabra"]."%' ORDER BY Especie ...
  #1 (permalink)  
Antiguo 21/10/2004, 12:29
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
consulta en varios campos

Hola a todos

tengo esta consulta

mysql_select_db($database_Astur, $Astur);
if ($_GET["select"]="Especie") {
$_pagi_sql = "SELECT * FROM astur WHERE ".$_GET["select"].", Sinonimos LIKE '%".$_GET["palabra"]."%' ORDER BY Especie ASC";
} else {
$_pagi_sql = "SELECT * FROM astur WHERE ".$_GET["select"]." LIKE '%".$_GET["palabra"]."%' ORDER BY Especie ASC";
}
$Recordset1 = mysql_query($_pagi_sql, $Astur) or die(mysql_error());

donde si el select es igual a cierta cadena, la búsqueda se hace en dos campos, pero me da error, hay algo mal.

alguien ve el fallo?

el error es
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 ' Sinonimos LIKE '%Cardiu%' ORDER BY Especie ASC'
  #2 (permalink)  
Antiguo 21/10/2004, 13:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
$_pagi_sql = "SELECT * FROM astur WHERE ".$_GET["select"].", Sinonimos LIKE '%".$_GET["palabra"]."%' ORDER BY Especie ASC";

Esa coma marcada en negrita sobra .. fijate en tu mismo segundo ejemplo... Por eso el mensaje de error te dice que el error de sintax SQL está "cerca" de .. Sinonimos ...

Un saludo,
  #3 (permalink)  
Antiguo 21/10/2004, 13:30
Avatar de xcorpion  
Fecha de Ingreso: octubre-2003
Ubicación: m é x i c o
Mensajes: 676
Antigüedad: 20 años, 6 meses
Puntos: 4
muy bueno blanco para sql injection
  #4 (permalink)  
Antiguo 21/10/2004, 13:40
 
Fecha de Ingreso: noviembre-2003
Mensajes: 15
Antigüedad: 20 años, 5 meses
Puntos: 0
cambia la coma por un operador and o un or

$_pagi_sql = "SELECT * FROM astur WHERE ".$_GET["select"]." (and ó or segun sea el caso) Sinonimos LIKE '%".$_GET["palabra"]."%' ORDER BY Especie ASC";
  #5 (permalink)  
Antiguo 21/10/2004, 13:43
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
ok, solucionado. gracias a todos
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 22:26.