Foros del Web » Programando para Internet » PHP »

C'omo puedo verificar si un usuario existe o no en una Base de Datos MySQl

Estas en el tema de C'omo puedo verificar si un usuario existe o no en una Base de Datos MySQl en el foro de PHP en Foros del Web. C'omo puedo verificar si un usuario existe o no en una Base de Datos MySQl...
  #1 (permalink)  
Antiguo 08/02/2003, 09:39
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
C'omo puedo verificar si un usuario existe o no en una Base de Datos MySQl

C'omo puedo verificar si un usuario existe o no en una Base de Datos MySQl
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 08/02/2003, 09:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Una forma a lo "bruto" es simplemente intentar conectar a la BD .. con el Usuario/password que indiques y su host correspondiente .. si no existe Mysql dará un error (ademas puedes obtener su codigo de error . .con lo cual puedes gestionarlo perfectamente).

Un ejemplo:

Código PHP:
<?
$host
="localhost";
$user="root";
$pass="";

if (!
mysql_connect($host,$user,$pass)){
   echo 
'Mysql dice q hay un error: '.mysql_error().'<br>';
   echo 
'El código de error es: '.mysql_errno();
    
mysql_close(); // cierro la conexión ..
} else {
    echo 
"La conexión se estableción correctamente .. Existe el usuario.";
    
mysql_close(); // cierro la conexión ..
}
?>

Seguro q existe alguna forma mas "limpia" de hacerlo .. tal vez una consulta a la BD Mysql y tabla users ..

A todo esto .. hablamos de usuarios de Mysql .. correcto?

Un saludo,
  #3 (permalink)  
Antiguo 08/02/2003, 10:16
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 5 meses
Puntos: 1
Sobre usuario y MySQL

No es verificar si el usuario root que es el administrador existe porque ese si existe. Es verificar si un usuario que est'a registrado previamente en el sitio en un campo xx existe al tratar de hacer login en el sitio.
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 08/02/2003, 10:34
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 3 meses
Puntos: 11
$query = "Select * From Registration where username ='".$username."'";
//echo $query;
$result = mysql_query($query);
$row = mysql_fetch_array($result);
$dbpassword = $row["password"];

if ($dbpassword==NULL){
echo " <script>document.location.href='/ferre/error.php?err=1'</script>";
}else{
if ($mypassword == $dbpassword){
$query = "update Registration set password='".$npassword."' where username ='".$username."'";
$result = mysql_query($query);
if ($result){
echo " <script>document.location.href='/php/registrado.html'</script>";
}else{
echo " <script>document.location.href='/php/error.php?err=3'</script>";
}
}else{
echo " <script>document.location.href='/php/error.php?err=2'</script>";
}
}
  #5 (permalink)  
Antiguo 08/02/2003, 10:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Ok, .. pero otra vez intenta explicarte un poco mejor ...

Si tienes tu tabla ya creada .. con tus usuarios .. tan solo tienes que hacer una consulta por ese usuario y ver si arroja mas de un registro tu consulta.

Ejemplos:

Código PHP:
$usuario="tu_veras";

$consulta=mysql_query("SELECT COUNT(*) FROM usuarios WHERE usuario='$usuario'");

if (
mysql_result($consulta,0) == 1){
   echo 
"usuario existe";
} else {
   echo 
"usuario no existe";

Suponiedno que usuario es o solo puede ser Uno solo .. si ubiese mas posibles resultados de la consulta .. ajusta el condicional IF ..

Esa es la forma mas óptima .. pues se hace una consulta a tu base de datos .. a esa tabla usando COUNT de SQL de mysql .. se obtiene un único registro con el total de las coincidencias q obtengas al aplicar la clausula WHERE (condicional) SQL ..

Otra opción es usar el clasico mysql_num_rows() tras ejecutar tu consulta .. Pero no es lo mas optimo si solo necestias el total de registros q pueda ocasinar la consulta .. y mas concreto para ver si existe o no cierto dato en cierto campo de tu tabla ..

Un saludo,
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 20:30.