Foros del Web » Programando para Internet » PHP »

que siginifica este error:Warning: mysql_select_db...

Estas en el tema de que siginifica este error:Warning: mysql_select_db... en el foro de PHP en Foros del Web. me sale cuando ejecuto este script: Código PHP: <?php session_start (); $_SESSION [ 'log' ]= true ; $nombre = "user1" ; $_SESSION [ 'nombre' ]= ...
  #1 (permalink)  
Antiguo 18/01/2008, 06:47
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Pregunta que siginifica este error:Warning: mysql_select_db...

me sale cuando ejecuto este script:

Código PHP:
<?php
session_start
();
$_SESSION['log']=true;

$nombre="user1";
$_SESSION['nombre']=$nombre;

$apellido="surname1";
$_SESSION['apellido']=$apellido;

$edad=25;
$_SESSION['edad']=$edad;

$sexo="Man";
$_SESSION['sexo']=$sexo;

$int="Women";
$_SESSION['int']=$int;

$_ENV['REQUEST_METHOD'];

$base="fordecision";
$tabla="profile";

$con=mysql_connect("localhost","root","*****");
mysql_select_db($base,$conexion);

$email=mysql_query("SELECT email FROM $tabla",$con);
$password=mysql_query("SELECT password FROM $tabla",$con);

        if (
$_POST['e-mail']==$email AND $_POST['password']==$password) {
              
header('Location:start.php');
        }else{
              
header('Location:login2.html');
        }

mysql_close($con);

?>
Gracias de antemano por la ayuda
  #2 (permalink)  
Antiguo 18/01/2008, 06:53
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Re: que siginifica este error:Warning: mysql_select_db...

Escribe el error compl....

fijate aca:
$con=mysql_connect("localhost","root","*****");
mysql_select_db($base,$conexion);
__________________
Drupal Argentina
  #3 (permalink)  
Antiguo 18/01/2008, 07:37
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

el error es es el siguiente.. tu colocastes

Código:
$con=mysql_connect("localhost","root","*****");
mysql_select_db($base,$conexion);
osea, inicializas la variable $con pero despues para conectar a la base de datos usa la variable $conexion debes desidirte por una sola.. o usa $con o usa $conexion

fijate

Código:
$conexion=mysql_connect("localhost","root","*****");
mysql_select_db($base,$conexion);
o


Código:
$con=mysql_connect("localhost","root","*****");
mysql_select_db($base,$con);

asi te funcionara..

suerte...
  #4 (permalink)  
Antiguo 18/01/2008, 08:18
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

Efectivamente!

Hay está el fallo.

Pero, ahora al poner el e-mail y el password me desvía a la dirección que no debería:
Código PHP:
$email=mysql_query("SELECT email FROM $tabla",$con);
$password=mysql_query("SELECT password FROM $tabla",$con);

        if (
$_POST['e-mail']==$email AND $_POST['password']==$password) {
              
header('Location:start.php');
        }else{
              
header('Location:login2.html');
        } 
Es decir, me envia a
Código PHP:
header('Location:login2.html' 
Sabes por qué puede ser??

Muchas gracias!
Saludos
  #5 (permalink)  
Antiguo 18/01/2008, 08:31
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

pues porque email y pasword no es lo mismo y el IF indica que deben cumplirse las 2 condiciones, no solo una. por eso no te coincide nunca y te envia siempre al else
  #6 (permalink)  
Antiguo 18/01/2008, 08:32
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

te esta dando un error Resource id #49
  #7 (permalink)  
Antiguo 18/01/2008, 08:37
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

Ups, perdón, pero no entiendo bien lo que me estáis diciendo,...

Que es lo que tengo que cambiar.

Cita:
pues porque email y pasword no es lo mismo y el IF indica que deben cumplirse las 2 condiciones, no solo una. por eso no te coincide nunca y te envia siempre al else
puedes explicarme esto un poco más detallado.

Lo siento, es que soy muy novato
Saludos!
  #8 (permalink)  
Antiguo 18/01/2008, 08:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

este codigo esta malo... fijate y te explico..

Código:
$email=mysql_query("SELECT email FROM $tabla",$con);
$password=mysql_query("SELECT password FROM $tabla",$con);

        if ($_POST['e-mail']==$email AND $_POST['password']==$password) {
              header('Location:start.php');
        }else{
              header('Location:login2.html');
        }

aqui.. $email=mysql_query("SELECT email FROM $tabla",$con tienes una consulta mas no datos...

lo que tienes que hacer esoto...


Código:
$email=mysql_query("SELECT email FROM $tabla",$con);
$datosemail = sql_fetch_array($email,$con);
$password=mysql_query("SELECT password FROM $tabla",$con);
$datospassword = sql_fetch_array($password,$con);


        if ($_POST['e-mail']==$datosemail['email'] AND $_POST['password']==$datospassword['password']) {
              header('Location:start.php');
        }else{
              header('Location:login2.html');
        }

suerte mi pana...
  #9 (permalink)  
Antiguo 18/01/2008, 08:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

Perdona, pero cuando escribo lo que me dices, se me imprime en pantalla:

Código PHP:
Warningmysql_fetch_array(): supplied argument is not a valid MySQL result resource in 
probé primero con sql_fetch_array() como me dijiste, pero no reconoce esa función.

Alguna idea?
saludos
  #10 (permalink)  
Antiguo 18/01/2008, 08:59
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

no mi pana... esto esta mal... ya va.. fijate.. tu estas haciendo una consulta a la base de datos... pero si la base de datos tiene varios resultados??? como hara el para comprobar cual dato del la db s la q quieres comparar con lo que te viene del formulario.. dame 5 minutos para crearte un codigo pa ver si funciona...
  #11 (permalink)  
Antiguo 18/01/2008, 09:02
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

Muchas gracias!
  #12 (permalink)  
Antiguo 18/01/2008, 09:05
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

Código:
$correo = $_POST['email'];
$pass = $_POST['password'];

$consulta=mysql_query("SELECT * FROM $tabla WHERE email='$correo' AND password='$pass'",$con);
$datosconsulta = sql_fetch_array($consulta,$con);


        if ($datosconsulta) {
              header('Location:start.php');
        }else{
              header('Location:login2.html');
        }

tambien intenta este si aquel no rsulta..



Código:
$correo = $_POST['email'];
$pass = $_POST['password'];

$consulta=mysql_query("SELECT * FROM $tabla WHERE email='$correo' AND password='$pass'",$con);



        if ($consulta) {
              header('Location:start.php');
        }else{
              header('Location:login2.html');
        }
  #13 (permalink)  
Antiguo 18/01/2008, 09:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

Gracias!

Voy a probarlo!

Te digo si me funciona en breve
  #14 (permalink)  
Antiguo 18/01/2008, 09:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

ups,... no me reconoce lo que escribo, siempre me envia a login2.html

Canté victoria demasiado pronto

Última edición por donfalcone; 18/01/2008 a las 09:27
  #15 (permalink)  
Antiguo 18/01/2008, 09:25
 
Fecha de Ingreso: noviembre-2005
Mensajes: 222
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

ole! venia a ver si te podia ayudar más pero el crack de diazhh ya lo ha resuelto.
  #16 (permalink)  
Antiguo 18/01/2008, 09:27
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

tamos a la orden
  #17 (permalink)  
Antiguo 18/01/2008, 09:35
Avatar de Zenbaku  
Fecha de Ingreso: enero-2008
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: que siginifica este error:Warning: mysql_select_db...

Creo que estás saltando algo, ese sistema de logins es por usuarios?
Si es así te estás olvidando de la ID. Por eso, cuando haces el "SELECT mail" en realidad estás seleccionando todos los mails de la base de datos.

Suponiendo que en tu base de datos los usuarios tienen estas tablas
1) id
2) email
3) password

La forma de obtener los datos sería algo así

Código PHP:
/* Asegurate de cambiar estos */
$host 'localhost';
$user 'root';
$pass '*****';
$db 'usuarios';
$tabla 'usuarios';

$con mysql_connect($host,$user,$pass) or die('O excepción, como prefieras');
if (
$con) {mysql_select_db($db,$con); }


/* Ahora supondremos los siguientes campos */
$user_id $_POST['id'];
$user_email $_POST['email'];
$user_pass $_POST['pass'];
/* Ahí tu haces la limpieza de variables como veas */

$query "SELECT email, password FROM $tabla WHERE id = $user_id"/* se asume que $user_id es un número */

$result mysql_query($query$con);
while (
$row mysql_fetch_assoc($result)) {
  
$email $row['email'];
  
$pass $row['password'];
}


if ( 
$email == $user_email  AND  $pass == $user_pass ) {
  
header('Location:start.php');
  exit();

else {
  
header('Location:login2.html');
  exit();

Esto en sí soluciona algunos problemas. Primero, el email y el password se consiguen mediante una ID, así que sólo recibimos el valor que queremos y no todos (como antes lo hacía). También se podría usar el nombre de usuario, o el email como clave de acceso a la db, pero eso ya es otra cosa. Además, si la pass o el email no coinciden no se produce un error de mysql, sino que simplemente se redirige a login2.html.
Por otro lado, siempre después de usar header() usa exit() eso asegura que el script se acaba correctamente.

Saludos, cualquier cosa estoy para ayudarte en lo que me sea posible ^^'

PD: He asumido que la id la coges de una cookie o de una sesión, pero si no es así tendrás que obtener los resultados usando el nickname del usuario (o su mail)
  #18 (permalink)  
Antiguo 18/01/2008, 09:35
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

que no que no,
Cita:
ups,... no me reconoce lo que escribo, siempre me envia a login2.html

Canté victoria demasiado pronto
...
  #19 (permalink)  
Antiguo 18/01/2008, 09:37
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: que siginifica este error:Warning: mysql_select_db...

Prueba de esta forma

$correo = $_POST['e-mail'];
$pass = $_POST['password'];

$consulta = "SELECT * FROM $tabla WHERE email='$correo' AND password='$pass'";
$result = mysql_query($consulta, $con) or die ( mysql_error() );
$datos = mysql_fetch_array($result);



if ($datos['email'] != $correo or $datos['password'] != $pass) {
header('Location:login2.html');
}else{
header('Location:start.php');
}

y como te dicen arriba deberias comparar con el ID.

Saludos.
  #20 (permalink)  
Antiguo 18/01/2008, 09:40
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

Cita:
Iniciado por Carlojas Ver Mensaje
Prueba de esta forma

$correo = $_POST['e-mail'];
$pass = $_POST['password'];

$consulta = "SELECT * FROM $tabla WHERE email='$correo' AND password='$pass'";
$result = mysql_query($consulta, $con) or die ( mysql_error() );
$datos = mysql_fetch_array($result);



if ($datos['email'] != $correo or $datos['password'] != $pass) {
header('Location:login2.php');
}else{
header('Location:start.php');
}

Saludos.
esta es una forma que te deberia resultar...
  #21 (permalink)  
Antiguo 18/01/2008, 09:43
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

Cita:
Iniciado por Zenbaku Ver Mensaje
Creo que estás saltando algo, ese sistema de logins es por usuarios?
Si es así te estás olvidando de la ID. Por eso, cuando haces el "SELECT mail" en realidad estás seleccionando todos los mails de la base de datos.

Suponiendo que en tu base de datos los usuarios tienen estas tablas
1) id
2) email
3) password

La forma de obtener los datos sería algo así

Código PHP:
/* Asegurate de cambiar estos */
$host 'localhost';
$user 'root';
$pass '*****';
$db 'usuarios';
$tabla 'usuarios';

$con mysql_connect($host,$user,$pass) or die('O excepción, como prefieras');
if (
$con) {mysql_select_db($db,$con); }


/* Ahora supondremos los siguientes campos */
$user_id $_POST['id'];
$user_email $_POST['email'];
$user_pass $_POST['pass'];
/* Ahí tu haces la limpieza de variables como veas */

$query "SELECT email, password FROM $tabla WHERE id = $user_id"/* se asume que $user_id es un número */

$result mysql_query($query$con);
while (
$row mysql_fetch_assoc($result)) {
  
$email $row['email'];
  
$pass $row['password'];
}


if ( 
$email == $user_email  AND  $pass == $user_pass ) {
  
header('Location:start.php');
  exit();

else {
  
header('Location:login2.html');
  exit();

Esto en sí soluciona algunos problemas. Primero, el email y el password se consiguen mediante una ID, así que sólo recibimos el valor que queremos y no todos (como antes lo hacía). También se podría usar el nombre de usuario, o el email como clave de acceso a la db, pero eso ya es otra cosa. Además, si la pass o el email no coinciden no se produce un error de mysql, sino que simplemente se redirige a login2.html.
Por otro lado, siempre después de usar header() usa exit() eso asegura que el script se acaba correctamente.

Saludos, cualquier cosa estoy para ayudarte en lo que me sea posible ^^'

PD: He asumido que la id la coges de una cookie o de una sesión, pero si no es así tendrás que obtener los resultados usando el nickname del usuario (o su mail)

tu forma puede funcionar... pero si te fijas al hacer una consulta que cumpla ciertos criterios como son el password y el enail igual a lo que viene del formulario.. pueden pasar 21 cosas.. uno que de una consulta vacia... y una que de una consulta llena... si esta vacia es que no coninside.. lo que lo manda a una pagina n la q le dic q correo o password errado.. y la otra... es que si existe.. asi q lo manda a la pagina start.
  #22 (permalink)  
Antiguo 18/01/2008, 09:46
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

intenta esto....


Código:
$correo = $_POST['email'];
$pass = $_POST['password'];

$consulta=mysql_query("SELECT * FROM $tabla WHERE email='$correo' AND password='$pass'",$con);
$datosconsulta = mysql_num_rows($consulta,$con);


        if ($datosconsulta) {
              header('Location:start.php');
        }else{
              header('Location:login2.html');
        }
  #23 (permalink)  
Antiguo 18/01/2008, 09:53
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

si con el ejemplo anterior no te funciona.. el problema esta aqui...


Código:
$correo = $_POST['email'];
$pass = $_POST['password'];

$consulta=mysql_query("SELECT * FROM $tabla WHERE email='$correo' AND password='$pass'",$con);
$datosconsulta = mysql_num_rows($consulta,$con);


        if ($datosconsulta==1) {
              header('Location:start.php');
        }else{
              header('Location:login2.html');
        }
  #24 (permalink)  
Antiguo 18/01/2008, 10:01
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
Re: que siginifica este error:Warning: mysql_select_db...

Hola Diazhh,

con tus ambas opciones me da este error:
Código PHP:
WarningWrong parameter count for mysql_num_rows() 
  #25 (permalink)  
Antiguo 18/01/2008, 10:20
 
Fecha de Ingreso: septiembre-2007
Mensajes: 139
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: que siginifica este error:Warning: mysql_select_db...

lee este manual completo...

http://www.desarrolloweb.com/manuales/37/

habla sobre eso..
voy a comer y vuelvo en un par de horas.....
  #26 (permalink)  
Antiguo 18/01/2008, 10:28
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: que siginifica este error:Warning: mysql_select_db...

donfalcone si estan correctos los nombres de tus variables?
Código PHP:
$_POST['email'
y
Código PHP:
$_POST['password'
?

o seria
Código PHP:
$correo $_POST['e-mail'
?

Si es asi este codigo deberia funcionarte.

Código PHP:
$correo $_POST['e-mail'];
$pass $_POST['password'];

$consulta "SELECT * FROM $tabla WHERE email = '$correo' AND password = $pass";
$result mysql_query($consulta$con) or die ( mysql_error() );
$datos mysql_fetch_array($result);

if (
$datos['email'] != $correo or $datos['password'] != $pass) {
header('Location:login2.html');
}else{
header('Location:start.php');

Analiza tambien que los parametros de la consulta correspondan a los nombres de los campos en tu tabla.
Prueba este codigo y nos comentas.

Saludos.
  #27 (permalink)  
Antiguo 18/01/2008, 11:48
 
Fecha de Ingreso: noviembre-2007
Mensajes: 194
Antigüedad: 16 años, 5 meses
Puntos: 2
De acuerdo Re: que siginifica este error:Warning: mysql_select_db...

FUNCIONA!!!

Gracias Carlojas!

Saludos!
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 19:41.