簡體   English   中英

功能無法正常工作

[英]Function doesn't work properly

我在名為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是否能給我任何東西。 但是回聲什么也沒做。

我知道這不是()錯誤數據,因為我還有其他用相同數據測試過的函數,而且效果很好。 怎么了?

這是調用靜態函數的方式,您不應該加密參數,因為該函數已經為您完成了此操作:

$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)."'");

那是因為您解析了已經加密的密碼,我懷疑您不應該加密,因為您也在查詢中對其進行了加密,因此該方法返回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';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM