我已经写下了以下代码。但是当我尝试获取受影响的行(以检查用户详细信息是否与数据库匹配)时,即使语句成功执行,它也总是返回0作为受影响的行。有什么我错了吗?
if($connection){
$username = "admin";
$password = "admin";
$statement = mysqli_prepare($connection,"SELECT * FROM `admin` WHERE username = ? AND password = ?");
mysqli_stmt_bind_param($statement,"ss",$username,$password);
mysqli_stmt_execute($statement);
if(mysqli_affected_rows($connection) == 1){
$response = array('response'=>true);
}else{
$response = array('response'=>false);
}
echo json_encode($response);
mysqli_stmt_close($statement);
mysqli_close($connection); }
答案 0 :(得分:2)
使用mysqli_stmt_affected_rows()函数,该函数将语句作为参数:
更改
if(mysqli_affected_rows($connection) == 1)
到
if(mysqli_stmt_affected_rows($stmt) != 0)