Foros del Web » Programando para Internet » PHP »

Busqueda de email en bdd

Estas en el tema de Busqueda de email en bdd en el foro de PHP en Foros del Web. Buenos dias a todos: Estoy realizando un apartado de registro de usuarios para una web en PHP. Estoy intentando ingresar usuarios en la base de ...
  #1 (permalink)  
Antiguo 10/03/2010, 11:36
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Pregunta Busqueda de email en bdd

Buenos dias a todos:

Estoy realizando un apartado de registro de usuarios para una web en PHP.

Estoy intentando ingresar usuarios en la base de datos y uno de las preguntas que me e hecho es si un usuario intenta insertar un email que ya se encuentra en la base de datos.

He intentado con este codigo
Código PHP:
$sql = "SELECT id FROM usuario WHERE US_EMAIL =$HTTP_POST_VARS["email"];
        $result = mysql_query($sql);
        if($row = mysql_fetch_array($result))
        {
            ?>
            <script language="javascript">
                alert("Existe un usuario con el mismo email.");
            </script>
            <?php
        
}
pero me aparece un mensaje que dice lo siguiente:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\WebTV\registro.php on line 32

Alquien me puede ayudar a resolverlo?
Muchisimas gracias por vuestra ayuda! un saludo a todos!
  #2 (permalink)  
Antiguo 10/03/2010, 11:51
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Busqueda de email en bdd

¿Q versión de PHP utilizas?
Utiliza $_POST en vez de $HTTP_POST_VARS
El error es lo q te muestra, en vez de una consulta PHP entiende q estás pasando un booleano. De hecho no solo lo "entiende", sino q es lo q estás haciendo jejeje
  #3 (permalink)  
Antiguo 10/03/2010, 11:52
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
Respuesta: Busqueda de email en bdd

1)le estas pasando un boolean en lugar de un resource a mysql_fetch_array(), quiere decir que tienes un error en tu consulta

2)usa die() y mysql_error() para depurar tus consultas

3) el codigo que posteaste tiene error de sintaxis (comillas)

4) los valores de texto en mysql se delimitan con comillas simples

5) lo que eulloa dijo
  #4 (permalink)  
Antiguo 11/03/2010, 03:52
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
Respuesta: Busqueda de email en bdd

Buenas:

Lo que ha aparecido antes ni lo tengais en cuenta, codigo copiado de otra web y sin revisar siquiera. perdonarme....
Tenia mucha prisa por que funcionara y asi estaba...

Bien tengo otro problemilla con el mismo apartado, ahora estoy codificando yo.

Código PHP:
<?php
$sql 
"SELECT id FROM usuario WHERE US_EMAIL = $_POST[email])";
$result mysql_query($sql);
$rows mysql_num_rows($result);
if(
$rows 0)
{
    
?>
    <script language="javascript">
        alert("Existe un usuario con el mismo email.");
    </script>
    <?php
}
else{ 
se ejecuta un insert}
?>
Me aparece el siguiente error:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\WebTV\registro.php on line 23

No entiendo por que me da el error, he probado insertando la funcion mysql_num_rows directamente en el "if" y comprobando si es true o false.

Supuestamente esta función devuelve el numero de filas que se han encontrado que cumplen la sentencia SELECT.

Me imagino que error está en el modo de tratar el resultado que devuelve, pero no se por que ni como.

Gracias por vuestra ayuda, y de nuevo disculparme por el primer mensaje... fruto de un dia de trabajo frustrante.
  #5 (permalink)  
Antiguo 11/03/2010, 04:05
 
Fecha de Ingreso: abril-2009
Ubicación: Vitoria
Mensajes: 160
Antigüedad: 15 años
Puntos: 1
He resuelto el error...
En vez de comprobar el numero de filas que recibe, he probado si la consulta devuelve true o false en el caso de que haya encontrado el email:

Código PHP:
<?php
    
include("conection.php");
    
$link=conection();
        
                
    
$sql "SELECT id FROM usuario WHERE US_EMAIL LIKE = $_POST[email])";
    
$result mysql_query($sql);
    if(
$result)
    {
        
?>
        <script language="javascript">
            alert("Existe un usuario con el mismo email.");
        </script>
        <?php
    
}
    else{}
?>
Muchas gracias por vuestra ayuda. y de nuevo disculpas.

Hola otra vez!
Sigue sin tener el efecto deseado...
Cuando introduzco un usuario nuevo que tiene un email coincidente con uno que ya este introducido en la base de datos, me da error, pero no me muestra el mensaje de alerta programado, el error me lo da por que el campo email en la tabla es UNIQUE.

Alquien puede decirme que está mal en el código para que no me capte esa comprobación?

Muchas gracias por vuestra ayuda...

Buenas de nuevo:

Veo a todo el mundo usar la sentencia "mysql_num_rows" para comprobar si existen campos coincidentes entre los datos introducidos y los que contiene la base de datos.

Me podría ayudar alguien a encontrar donde esta el error... please?
Código PHP:
<?php
$sql 
"SELECT US_EMAIL FROM usuario WHERE US_EMAIL = $_POST[email])";
$result mysql_query($sql);
if((
mysql_num_rows($result)) != 0)
{
    
?>
    <script language="javascript">
        alert("Existe un usuario con el mismo email.");
    </script>
    <?php
}
else
{
?>
El error es el siguiente:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\WebTV\registro.php on line 23

Muchas gracias por vuestra ayuda...

Última edición por GatorV; 11/03/2010 a las 15:42
  #6 (permalink)  
Antiguo 11/03/2010, 10:56
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Busqueda de email en bdd

Lo mismo de más arriba. Enclausa bien la consulta con las comillas, después vuelve a intentarlo
  #7 (permalink)  
Antiguo 11/03/2010, 11:10
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
Respuesta: Busqueda de email en bdd

El punto 1, 2 y 4 de lo que dije en mi primer post sigue aplicando -o-

Etiquetas: email, busquedas, bbdd
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 06:47.