Foros del Web » Programando para Internet » PHP »

error query was empty

Estas en el tema de error query was empty en el foro de PHP en Foros del Web. Pues bien tengo un problema con mi codigo lo que pretendo hacer busco en mi bdd el mail de un usuario que se va a ...
  #1 (permalink)  
Antiguo 25/02/2013, 18:26
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 13 años, 4 meses
Puntos: 3
Pregunta error query was empty

Pues bien tengo un problema con mi codigo
lo que pretendo hacer
busco en mi bdd el mail de un usuario que se va a registrar, si el email que estan ingresando "existe" entonces no lo deja registrarse y manda el mensaje de "el usuario existe" eso lo hace bien es decir me compara si existe no lo registra de nuevo y si no existe lo registra....

el problema es cuando el usuario ya existe seguido de el mensaje de "el usuario Existe" me manda Error query was empty.


este es mi codigo php
Código PHP:
<?php
error_reporting 
E_ERROR );
$con mysql_connect("localhost","root","");
if (!
$con)
  {
  die(
'Could not connect: ' mysql_error());
  }

mysql_select_db("mk3"$con);
$name=$_POST['name'];
$direc=$_POST['direc'];
$tel=$_POST['tel'];
$email=$_POST['email'];
$pass=$_POST['pass'];
$hoy=date("j, n, Y");

if(!isset(
$name))
    echo  
"";
else{
    if(
$name=="")
    {
        echo 
"debes de insertar el nombre";
    }
        else{
            if(
$direc=="")
                {
                    echo 
"debes de insertar la direc";
                }
                else{
                    if(
$tel=="")
                {
                    echo 
"debes de insertar el tel";
                }
                    else{
                        if(
$email=="")
                    {
                        echo 
"debes de insertar el email";
                    }
                        else{
                            if(
$pass=="")
                        {
                            echo 
"debes de insertar el pass";
                        }
                            else{
                        
$result mysql_query("SELECT Email FROM usuarios WHERE Email='$email'");
                        
$row=mysql_num_rows($result);
                            }
if(
$row==1)

    echo 
"el usuario existe";
else
      
$insertar="INSERT INTO usuarios (Nombre, Direccion, Telefono, Email, Password, Fecha)
    VALUES
        ('$_POST[name]','$_POST[direc]', '$_POST[tel]', '$_POST[email]', '$_POST[pass]', '$_POST[hoy]')"
;

if (!
mysql_query($insertar,$con))
  {
  die(
'Error: ' .  mysql_error());
  }
echo 
"Nuevo Contacto Ingresado con Exito";


    }
}
}
}
}
mysql_close($con);
?>
les agradeceria si me ayudan a mejorar mi codigo
  #2 (permalink)  
Antiguo 26/02/2013, 03:40
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 9 meses
Puntos: 574
Respuesta: error query was empty

Código PHP:
Ver original
  1. <?php
  2. error_reporting ( E_ERROR );
  3. $con = mysql_connect("localhost","root","");
  4. if (!$con){
  5.   die('Could not connect: ' . mysql_error());
  6. }
  7. mysql_select_db("mk3", $con);
  8. $name=$_POST['name'];
  9. $direc=$_POST['direc'];
  10. $tel=$_POST['tel'];
  11. $email=$_POST['email'];
  12. $pass=$_POST['pass'];
  13. $hoy=date("j, n, Y");
  14.  
  15. if(!isset($name)){
  16.     echo  "";
  17. }else{
  18.  if($name==""){
  19.   echo "debes de insertar el nombre";
  20.  }else{
  21.   if($direc==""){
  22.    echo "debes de insertar la direc";
  23.   }else{
  24.    if($tel==""){
  25.     echo "debes de insertar el tel";
  26.    }else{
  27.     if($email==""){
  28.      echo "debes de insertar el email";
  29.     }else{
  30.      if($pass==""){
  31.       echo "debes de insertar el pass";
  32.     }else{
  33.       $result = mysql_query("SELECT Email FROM usuarios WHERE Email='$email'");
  34.       $row=mysql_num_rows($result);
  35.       if($row==1) {
  36.        echo "el usuario existe";
  37.       }else{
  38.         $insertar="INSERT INTO usuarios (Nombre, Direccion, Telefono, Email, Password, Fecha) ".
  39.                   "VALUES ('$_POST[name]','$_POST[direc]', '$_POST[tel]', '$_POST[email]', '$_POST[pass]', '$_POST[hoy]')";
  40.         if (!mysql_query($insertar,$con)) {
  41.          die('Error: ' .  mysql_error());
  42.         }else{
  43.          echo "Nuevo Contacto Ingresado con Exito";
  44.         }
  45.        }
  46.       }    
  47.      }
  48.     }
  49.    }
  50.   }
  51.  }
  52. ?>

Mejorable.... p.e. si defines un indice unico sobre Email, podras lanzar directamente el INSERT si tiene exito es que no habia repetición si falla es que ya habia un usuario con ese email... eso ahorraria una query...

Te he cerrado bien los condicionales... asi creo que te funcionará.

Intenta ordenar tu codigo ayuda mucho a controlar lo que estas haciendo.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 26/02/2013 a las 03:47
  #3 (permalink)  
Antiguo 26/02/2013, 10:41
 
Fecha de Ingreso: julio-2011
Ubicación: donde me encuentre la noche
Mensajes: 140
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: error query was empty

Cita:
Iniciado por quimfv Ver Mensaje
Código PHP:
Ver original
  1. <?php
  2. error_reporting ( E_ERROR );
  3. $con = mysql_connect("localhost","root","");
  4. if (!$con){
  5.   die('Could not connect: ' . mysql_error());
  6. }
  7. mysql_select_db("mk3", $con);
  8. $name=$_POST['name'];
  9. $direc=$_POST['direc'];
  10. $tel=$_POST['tel'];
  11. $email=$_POST['email'];
  12. $pass=$_POST['pass'];
  13. $hoy=date("j, n, Y");
  14.  
  15. if(!isset($name)){
  16.     echo  "";
  17. }else{
  18.  if($name==""){
  19.   echo "debes de insertar el nombre";
  20.  }else{
  21.   if($direc==""){
  22.    echo "debes de insertar la direc";
  23.   }else{
  24.    if($tel==""){
  25.     echo "debes de insertar el tel";
  26.    }else{
  27.     if($email==""){
  28.      echo "debes de insertar el email";
  29.     }else{
  30.      if($pass==""){
  31.       echo "debes de insertar el pass";
  32.     }else{
  33.       $result = mysql_query("SELECT Email FROM usuarios WHERE Email='$email'");
  34.       $row=mysql_num_rows($result);
  35.       if($row==1) {
  36.        echo "el usuario existe";
  37.       }else{
  38.         $insertar="INSERT INTO usuarios (Nombre, Direccion, Telefono, Email, Password, Fecha) ".
  39.                   "VALUES ('$_POST[name]','$_POST[direc]', '$_POST[tel]', '$_POST[email]', '$_POST[pass]', '$_POST[hoy]')";
  40.         if (!mysql_query($insertar,$con)) {
  41.          die('Error: ' .  mysql_error());
  42.         }else{
  43.          echo "Nuevo Contacto Ingresado con Exito";
  44.         }
  45.        }
  46.       }    
  47.      }
  48.     }
  49.    }
  50.   }
  51.  }
  52. ?>

Mejorable.... p.e. si defines un indice unico sobre Email, podras lanzar directamente el INSERT si tiene exito es que no habia repetición si falla es que ya habia un usuario con ese email... eso ahorraria una query...

Te he cerrado bien los condicionales... asi creo que te funcionará.

Intenta ordenar tu codigo ayuda mucho a controlar lo que estas haciendo.
si es un desorden el mio pero ya solucione el problema que tenia en el error
die('Error: ' . mysql_error()); me mandaba que mi query estaba vacio ya lo sulicione el codigo funciona a la perfeccion pero gracias por la recomendacion tratare de ordenarlo mas saludos

Etiquetas: empty, mysql, query, select, sql, usuarios
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 08:58.