我的登录页面有问题。
我正在将我的密码从字符串转换为varbinary(max),我现在的问题是如何比较或验证我输入的用于登录的字符串是否等于表中存储的数据。
例子。
我的密码转换前的值为12345。通过 转换后CONVERT(varbinary(max),'12345'),数据现在反映为0x3132333435。
如果转换为 varbinary(max) 0x3132333435,我将如何验证我在输入框中输入的密码 (12345) 是否与该值相似?
我使用 SQL SERVER 2012、XAMPP 和 SQLSRV 进行连接。
非常感谢你提前。
这是我的login.php
<?php
session_start();
include 'includes/conn.php';
if (isset($_POST['login'])) {
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "
SELECT username,cast(password as varchar(max)) as password
FROM usermasterfile
WHERE username ='$username'";
include 'query/sqlsrv_query-global.php';
if (sqlsrv_num_rows($query) < 1) {
$_SESSION['error'] = 'Cannot find account with the username';
} else {
$row = sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC);
if ($password == $row['password']) {
$_SESSION['employeeidno'] = $row['employeeidno'];
}
else{
$_SESSION['error'] = 'Incorrect password';
}
}
}
else{
$_SESSION['error'] = 'Input credentials first';
}
header('location: index.php');
?>
编辑:修复它!
SELECT *,cast(password as varchar(max)) as maxpassword
FROM usermasterfile
WHERE username ='$username'";````
皈依舞