如何计算查询结果行数?

Posted

技术标签:

【中文标题】如何计算查询结果行数?【英文标题】:How do I count query result rows? 【发布时间】:2022-01-24 02:35:32 【问题描述】:

我应该将“查询结果行是否为 1 时验证的代码”替换为什么? 我尝试了很多使用 num_rows 的方法,但它不起作用。 我的 php 代码:

    $con=mysqli_connect("localhost","mbrconsu_un394x","y1cz9,rd+hf6","mbrconsu_mmx");

    if (mysqli_connect_errno($con))
    
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    

    $usuario = $con->real_escape_string($_GET['usuario']);
    $senha = $con->real_escape_string($_GET['senha']);

        $query = mysqli_query($con, "SELECT * FROM 'login' WHERE usuario = '$usuario' AND senha='$senha'");

        if(CODE TO VERIFY IF QUERY RESULT ROW IS = 1)
            while($row = mysqli_fetch_assoc($query))
                $db_username = $row['usuario'];
                $db_password = $row['senha'];
            
            if($usuario == $db_username && $senha == $db_password)
                return true;
            
             else 
            return false;
        

    mysqli_close($con);
?>

【问题讨论】:

您正在混合 mysqli 的过程和 OOP 版本。你应该期待一些不稳定。 【参考方案1】:
$query->num_rows;

mysqli_num_rows($query);

【讨论】:

【参考方案2】:

你可以使用:

$stmt=$mysqli->prepare("select `id` from `agahicustomer` where `city`=?");
    $stmt->bind_param("s",$cityid);
    $stmt->execute();
    $stmt->store_result();
    $stmt->bind_result($id);
    return $stmt->affected_rows;
    $stmt->close();

【讨论】:

【参考方案3】:

你可以这样做

    if($row = mysqli_fetch_assoc($query)) 

    

您也可能希望将用户名和密码作为常量保存在一个文件中

【讨论】:

【参考方案4】:

你也可以使用这个 sql 查询:

Select count(*) from table

【讨论】:

以上是关于如何计算查询结果行数?的主要内容,如果未能解决你的问题,请参考以下文章