我正在使用此方法来登录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/