Php MySql 选择计数,准备好的语句返回始终为 1

标签 php mysql sql

我正在使用此方法来登录Web服务:

function redeem() {
    if (isset($_POST["user"]) && isset($_POST["pass"]) && isset($_POST["computer"])) {
        $user = $_POST['user'];
        $pass = $_POST['pass'];
        $computer = $_POST['computer'];

        $galNumb = "SELECT COUNT(*) FROM Useres WHERE username = ? AND password = ?";
        $stmt = $this->db->prepare($galNumb);
        $stmt->bind_param('ss', $user, $pass);
        $gNumb = $stmt->execute();

        $result = array(
            "success" => "true",
        );
        $this->sendResponse(200, $gNumb);
        return true;
    }
    $this->sendResponse(400, 'Invalid request');
    return false;
}

问题在于,即使 sql 表不包含用户名密码$gNumb 也始终返回 1。知道可能是什么问题吗?

最佳答案

您忘记获取结果:

...
 $stmt->bind_param('ss', $user, $pass);
 if ($stmt->execute()) {
      $stmt->bind_result($gNumb);
      $stmt->fetch();
 } else {
      $gNumb = 0;
 }
...

关于Php MySql 选择计数,准备好的语句返回始终为 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54656489/

相关文章:

php - 配置 : error: Cannot find OpenSSL's <evp. h>

php - 如何使用Symfony Mailer组件禁用 "verify_peer"?

MySQL 跨表删除

php - MySQL查询只返回一个结果

mysql - 获取剩余的行

c# - ASP.NET MVC注册警报SQL func用户存在

php如何从下拉列表中获取选定的值?

javascript - Window.open 在 Cakephp 中调用 Action

mysql - 如何从MySQL数据库中选择每列具有不同条件的两列?

sql - 我应该合并 2 个只有一个字段不同的 sql 表吗