【问题标题】:How to use RowCount in PHP using SQL Server如何使用 SQL Server 在 PHP 中使用 RowCount
【发布时间】: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 吗?谢谢

【问题讨论】:

标签: php sql sql-server


【解决方案1】:

根本不要使用rowCount()。你不需要它。您也不需要那个无用的 try-catch 和 while 循环。当你删除所有多余的东西时,你的代码应该是这样的:

public function Login($username,$password)
    // 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 ($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!",
        );
    }
    print_r(json_encode($admin_arr));
}

【讨论】:

    猜你喜欢
    • 2010-09-26
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    相关资源
    最近更新 更多