Ver Mensaje Individual
  #7 (permalink)  
Antiguo 19/09/2004, 14:35
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por favor . .NUNCA hagas cosas como estas:

http://localhost/consejoj/PHP/veedor.php?sql=SELECT * FROM CALENDAR where
fecha='2004-09-25'

Por qué si ejecutas la sentencia SQL directa sin ningún filtrado de seguridad . .podrían hacer cosas como:

http://localhost/consejoj/PHP/veedor.php?sql=DELETE FROM CALENDAR

(borrar registros y otras consultas que seguro no quieres que se hagan ..)

Lo que debes hacer es pasar sólo tu dato "variable" . .en tu caso esa fecha y ejecutar tu consulta SQL


Algo tipo:

http://localhost/consejoj/PHP/veedor...cha=2004-09-25

Y en tu script veedor.php ...

Código PHP:
<?
// Conectas a tu BD .. seleccionas la BD a trabajar ...
$sql="SELECT * FROM CALENDAR WHERE fecha='".$_GET['fecha']."'";
$resultado=mysql_query($sql);
if (
mysql_num_rows($resultado) > ){
   while (
$row=mysql_fetch_array($resultado)){
      echo 
$row['campo'];
   }
} else {
   echo 
"No hay resultados para su busqueda";
}
?>
Fijate que sólo se pasa la "variable" y no TODA! la senetencia SQL. con lo peligroso que eso es!!!!.

Un saludo,

PD: Para solventar tu problema original debes usar urlencode() (donde generas ese link para el dato variable) y urldecode() (en el script que lo recibe) a su vez también en el script que lo recibie debes aplicar stripslashses() para eliminar esos / de más que se añaden con las comillas ' (por configuración de PHP que uses en magic_quote_gpc de tu php.ini (que por lo demás está bien así ..) )