MySQL 使用 AND 条件不输出数据


MySQL Using AND condition dosen't output data

我有一个简单的WHERE子句,应该从MySQL表中抓取一些行。

在这个 WHERE 子句中,我有一个 AND 条件,但它没有输出任何内容......

        $query = " 
        SELECT 
           *
        FROM homework
        WHERE 
            for_type_id = :group_id
            AND for_type_id = :class_id   
        ";
        $query_params = array(
        ':group_id' => $_SESSION["user"]["group_id"],
        ':class_id' => $_SESSION["user"]["class_id"]
        );  
        try 
        { 
        $stmt = $db->prepare($query); 
        $stmt->execute($query_params); 
        } 
        catch(PDOException $ex) 
        { 
        die($ex->getMessage()); 
        } 
        $homework_data = $stmt->fetchAll();

我之所以在 SELECT 部分使用两次"for_type_id",是因为数据库中的一个用户对不同类型的作业有"group_id"和"class_id",所以我想为一个用户抓取所有作业,使用"class_id"和"group_id"。

再一次,它没有输出任何东西。没有错误,没有通知,什么都没有。

有什么建议吗?

编辑

修正错别字

您声明该for_type_id用于获取一个用户的所有作业。 如果在查询中使用AND,则返回的行必须既是group_id行又是class_id行,这几乎肯定是不可能的。 我认为您可能需要使用OR语句

$query = " 
    SELECT 
       *
    FROM homework
    WHERE 
        for_type_id = :group_id
        OR for_type_id = :class_id   
    ";

这应该返回所有group_id或class_id