Foros del Web » Programando para Internet » PHP »

Problemas en consulta de BD (PHP y Mysql)

Estas en el tema de Problemas en consulta de BD (PHP y Mysql) en el foro de PHP en Foros del Web. Hola que tal compañeros pues aquí estoy con un nuevo problema. Les platico: Estoy haciendo un código para poder hacer una consulta a mi base ...
  #1 (permalink)  
Antiguo 30/10/2006, 11:20
Avatar de Killer Worm  
Fecha de Ingreso: junio-2006
Ubicación: Chilangolandia.
Mensajes: 30
Antigüedad: 17 años, 10 meses
Puntos: 0
Exclamación Problemas en consulta de BD (PHP y Mysql)

Hola que tal compañeros pues aquí estoy con un nuevo problema.

Les platico: Estoy haciendo un código para poder hacer una consulta a mi base de datos, mediante un formulario de acuerdo lo que se ponga en el formulario se despliega la información, mi problema es que por ejemplo quiero hacer una consulta mediante el correo electrónico de la persona a buscar, si no pongo nada en el campo mi despliega un mensaje que no se ha indicado el email a buscar, pero si pongo una sola letra por ejemplo "d" me despliega todos los emails que contengan "d", como verán es un problema grave ya que podría revelar información personal a personas ajenas.



Espero que me puedan ayudar, les adjunto el código fuente.




Código PHP:
trim ($email);

  if (!
$email)

  {

     echo 
"No has introducido los detalles de la busqueda.  Por favor vuelve a intentarlo.";

     exit;

  }

 

  @ 
$db mysql_connect("localhost""mi_usuario""mi_contraseña");

 

  if (!
$db)

  {

     echo 
"Error: No se ha podido conectar a la base de datos.  Por favor, prueba de nuevo más tarde.";

     exit;

  }

 

  
mysql_select_db("registro");

  
$consulta "select * from docder where email like '%".$email."%'";

  
$resultado mysql_query($consulta);

 

  
$num_resultados mysql_num_rows($resultado);

 

  for (
$i=0$i <$num_resultados$i++)

  {

     
$row mysql_fetch_array($resultado);

             

             echo 
"<br><strong>Folio: </strong>";

     echo 
stripslashes($row["num"]);

             echo 
"<br><strong>Nombre : </strong>";

     echo 
stripslashes($row["nombre"]);

             echo 
"<br><strong>Email: </strong>";

     echo 
stripslashes($row["email"]);

 

             

             
$der_exa stripslashes($row["der_exa"]);

                        

                        if ( 
$der_exa == "si")

                        {

                        echo 
“mensaje a mostrar si cumple la condicion";

                        } 

                        else

                        {

echo “mensaje a mostrar si no se cumple"
;                   

 

                        }

             } 
Bueno compañeros ese es mi problema, espero y me puedan ayudar.
__________________
Quiero aprender para poder transmitir...:arriba:
  #2 (permalink)  
Antiguo 30/10/2006, 11:28
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Código PHP:
  if (!$email){
     echo 
"Error: Debe ingresar el email a buscar o-lo-que-quieras";
     exit;
    } 
else{
$consulta "select * from docder where email = '".$email."'"

...

en el like, los % son comodines, como tienes la consulta estas buscando donde email sea igual a [cualquier_combinacion_de_caracteres_incluyendo_vac io] + [valor_de_la_variable_email] + [cualquier_combinacion_de_caracteres_incluyendo_vac io]
  #3 (permalink)  
Antiguo 30/10/2006, 11:29
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Si lo q kieres es una búsqueda exacta no pongas los % en la consulta. Sino especifica qué es lo q kieres q haga la consulta.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #4 (permalink)  
Antiguo 30/10/2006, 11:43
Avatar de Killer Worm  
Fecha de Ingreso: junio-2006
Ubicación: Chilangolandia.
Mensajes: 30
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo

Ah! gracias! ya quedo resuelto mi problema!!
__________________
Quiero aprender para poder transmitir...:arriba:
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 13:50.