Foros del Web » Programando para Internet » PHP »

Ayuda no encunetro el error

Estas en el tema de Ayuda no encunetro el error en el foro de PHP en Foros del Web. hola gente del foro, primero digo q soy un novato en php.. bueno tengo este codigo y me da un error al ejecutar la consulta ...
  #1 (permalink)  
Antiguo 27/08/2010, 12:22
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 14 años, 2 meses
Puntos: 1
Pregunta Ayuda no encunetro el error

hola gente del foro, primero digo q soy un novato en php..
bueno tengo este codigo y me da un error al ejecutar la consulta pero no se porq, alguien me ayuda??

Código PHP:
<?php
if (strlen($_POST['logout']) > 0)
{
    
session_destroy();
}

ob_start();
$host="localhost";
$username="user";
$password="pass";
$db_name="database";
$tbl_name="table";

mysql_connect("$host""$username""$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$myusername=$_POST['username'];
$mypassword=$_POST['password'];

if (
strlen($myusername) > || strlen($mypassword) > 0)
{
    
// To protect MySQL injection (more detail about MySQL injection)
    
$myusername stripslashes($myusername);
    
$mypassword stripslashes($mypassword);
    
$myusername mysql_real_escape_string($myusername);
    
$mypassword mysql_real_escape_string($mypassword);
    
    if (
mysql_num_rows(mysql_query("SELECT * FROM '$tbl_name' WHERE user = '$myusername' and pass = '$mypassword'")))
    {
        
        
$_SESSION['loggedin'] = 1;
        echo 
"Entraste!!";
    }
    else
    {
        echo 
"Usuario o clave incorrecta";
    }
}

ob_end_flush();
?> 
<form name="login" method="post" action="index.php">
Usuario:
<input type="text" name="username"> <br>
Password:
<input type="password" name="password"><br><br>
<input type="submit" value="Loguear">
</form>
el error q me da este codigo es:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\U\index.php on line 30

alguien sabe porq?
  #2 (permalink)  
Antiguo 27/08/2010, 12:26
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 9 meses
Puntos: 55
Respuesta: Ayuda no encunetro el error

deberias preguntar si es igual a 1

if (mysql_num_rows(mysql_query("SELECT * FROM '$tbl_name' WHERE user = '$myusername' and pass = '$mypassword'"))==1) {}
  #3 (permalink)  
Antiguo 27/08/2010, 12:32
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Ayuda no encunetro el error

Cita:
Iniciado por Death_Empire Ver Mensaje
deberias preguntar si es igual a 1

if (mysql_num_rows(mysql_query("SELECT * FROM '$tbl_name' WHERE user = '$myusername' and pass = '$mypassword'"))==1) {}
mmm lo porve asi como tu dices pero sigo teniendo el error

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\U\index.php on line 30
  #4 (permalink)  
Antiguo 27/08/2010, 12:32
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 9 meses
Puntos: 55
Respuesta: Ayuda no encunetro el error

deberias preguntar si es igual a 1

if (mysql_num_rows(mysql_query("SELECT * FROM '$tbl_name' WHERE user = '$myusername' and pass = '$mypassword'"))==1) {}


pero lo que tienes malo es la conecxion y la seleccion de la base de datos

le estas pasando variables con comillas "" a las variables no se les pone comillas(igual deberia funcionar pero para asegurarse)

Código PHP:
mysql_connect($host$username$password)or die("cannot connect");
mysql_select_db($db_name)or die("cannot select DB"); 
no alcance a editar

lo otro y lo mas probable es que la consulta este mal realizada
o no existe user o no existe pass en la tabla o la variable $tbl_name este mal asignada

Última edición por Death_Empire; 27/08/2010 a las 12:38
  #5 (permalink)  
Antiguo 27/08/2010, 12:40
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Ayuda no encunetro el error

Cita:
Iniciado por Death_Empire Ver Mensaje
deberias preguntar si es igual a 1

if (mysql_num_rows(mysql_query("SELECT * FROM '$tbl_name' WHERE user = '$myusername' and pass = '$mypassword'"))==1) {}


pero lo que tienes malo es la conecxion y la seleccion de la base de datos

le estas pasando variables con comillas "" a las variables no se les pone comillas(igual deberia funcionar pero para asegurarse)

Código PHP:
mysql_connect($host$username$password)or die("cannot connect");
mysql_select_db($db_name)or die("cannot select DB"); 
no alcance a editar

lo otro y lo mas probable es que la consulta este mal realizada
o no existe user o no existe pass en la tabla o la variable $tbl_name este mal asignada
ok quite las comillas de las variables. pero no entiendo porq dices q esta mal la consulta.
perdona es q no tengo experiencia en php ni en mysql siempre trabaje con C# y SQL.
  #6 (permalink)  
Antiguo 27/08/2010, 12:44
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 9 meses
Puntos: 55
Respuesta: Ayuda no encunetro el error

ejecuta la consulta directamente en sql y ve que resultado te arroja.

dentro de la base de datos de nombre database ejecuta tu consulta y remplazas el user y el pass por valores validos
"SELECT * FROM table WHERE user = '$myusername' and pass = '$mypassword'"
  #7 (permalink)  
Antiguo 27/08/2010, 12:54
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Ayuda no encunetro el error

ejecute la consulta en mysql y me da esto

SELECT *
FROM `usuarios`
WHERE `usuario` = 'maverik'
AND `password` = '123'

ID usuario password nombre email
1 maverik 123 Santiago k**********.com

lo cual esta bien. pero en la pagina me sigue dando el mismo error en cualquier navegador q lo e probado
  #8 (permalink)  
Antiguo 27/08/2010, 13:05
Avatar de Maverik2  
Fecha de Ingreso: agosto-2010
Mensajes: 67
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Ayuda no encunetro el error

ok encontre el problema
en mi consulta de mysql uso estas comillas `tabla`
pero en php pongo estas ' tabla '
es por eso q me da error.. ya lo arregle y esta funcionando :)

gracias Death_Empire

Etiquetas: loggin, mysql_num_rows
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:12.