我在名为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
是否会给我任何东西。但那个回声什么也没做。
我知道()
中的数据没有错,因为我有其他功能,我使用相同的数据进行测试,并且工作正常。
怎么了?
答案 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';