功能无法正常工作

时间:2014-04-20 15:58:55

标签: php

我在名为User

的类中有这个功能
/**
* Function to get everything about specific user
* @access public
* @param string that user's email
* @param string that user's password
*/
public static function selectUser ( $email, $password )
{
    $result = mysql_query ( ' SELECT * FROM `modernt_mtalk`.`users` WHERE Email = ' . $email . ' AND Password = ' . md5($password) );

    if($result) {return $result;}
    else        {return false;}
}

我将其称为其他文件

require_once 'user.php';
$user = new User();

$info = $user -> selectUser('baronas15@gmail.com', 'root');

echo $info;

我把这些数据放进去,所以我可以测试echo $info是否会给我任何东西。但那个回声什么也没做。

我知道()中的数据没有错,因为我有其他功能,我使用相同的数据进行测试,并且工作正常。 怎么了?

2 个答案:

答案 0 :(得分:1)

以下是调用静态函数的方法,您不应该加密参数,因为函数已经为您执行此操作:

$info = User::selectUser('baronas15@gmail.com', 'root'); //no need to encrypt twice

此外,查询看起来不正确,因为电子邮件和密码不是整数,需要引用它们:

$result = mysql_query ("SELECT * FROM `modernt_mtalk`.`users` WHERE Email = '". $email ."' AND Password = '". md5($password)."'");

答案 1 :(得分:0)

那是因为您解析了已经加密的密码,我怀疑您不应该加密,因为您还在查询中对其进行加密,因此该方法返回false。 var_dump结果或显示“错误登录”,如果方法返回false

require_once 'user.php';
$user = new User();

if($info = $user -> selectUser('baronas15@gmail.com', 'root'))
     echo $info;
else
     echo 'Incorrect details';