【发布时间】:2021-04-24 19:29:22
【问题描述】:
我想在 PHP 中显示来自 RowCount 的数据。但是结果总是假的喜欢
{"status":false,"message":"Invalid Username and Password!"}
没有 RowCount 一切正常,但输入错误密码/错误用户名时无法验证 这是我在大师班上的登录功能
public function Login($username,$password)
{
// select all query
try {
// Statement
$sqlsrvquery = "
EXEC [dbo].[GetAllAdmin2]
@username = ?,
@password = ?";
$stmt = $this->conn->prepare($sqlsrvquery);
$stmt->bindParam(1, $username, PDO::PARAM_STR);
$stmt->bindParam(2, $password, PDO::PARAM_STR);
$stmt->execute();
if($stmt->rowCount() > 0) {
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$admin_arr = array(
"status" => true,
"username" => $row['username'],
"password" => $row['password'],
);
}
}
else {
$admin_arr = array(
"status" => false,
"message" => "Invalid Username and Password!",
);
}
} catch (Exception $e) {
print_r($e->getMessage());
}
print_r(json_encode($admin_arr));
}
我的问题是 sql server 可以使用 RowCount 吗?谢谢
【问题讨论】:
-
但我需要验证用户名和密码错误
-
因为我使用的是Mysql,所以它工作正常。但 SQL Server 不能
-
切勿以明文形式或使用 MD5/SHA1 存储密码! 仅存储使用 PHP 的
password_hash()创建的密码哈希,然后您可以使用password_verify()进行验证。看看这个帖子:How to use password_hash 并了解更多关于bcrypt & password hashing in PHP
标签: php sql sql-server