就是这样:
function password_matches($username, $password){
//precon: user_exists($username)
$u = $GLOBALS['conn']->real_escape_string($username);
$q = "SELECT password FROM users WHERE username = '$u'";
$result = mysqli_query($GLOBALS['conn'], $q);
$result2 = mysqli_fetch_field($result);
return ($result2 == $password);
}
如果您认为这应该有用,请告诉我,我知道我的问题可能会出现在此功能之外的其他地方,但我认为这种可能性较小。
答案 0 :(得分:0)
虽然您执行此操作的方式存在很多问题,但您也不知道如何正确使用mysqli
功能,因此我会写一个答案与此相关,因为您需要知道其他任务。
mysqli_fetch_field
返回有关结果中字段的元数据,而不是值。要获取实际数据,请使用mysqli_fetch_assoc
:
$row = mysqli_fetch_assoc($result2);
return $row['password'] == $password;