Php mysqli多重查询

Php mysqli多重查询,php,mysqli,Php,Mysqli,我谨此陈辞: $query .=" SELECT * , COUNT(PRESENT) FROM seventh_a"; $query .=" WHERE class ='0' AND NAME ='Alexander Kirkby Scherer'"; $query .=" AND PRESENT = 'TS' GROUP BY lesson"; $query = " SELECT * , COUNT(lesson) FROM seventh_a"; $query .=" WHERE cla

我谨此陈辞:

$query .=" SELECT * , COUNT(PRESENT) FROM seventh_a";
$query .=" WHERE class ='0' AND NAME ='Alexander Kirkby Scherer'";
$query .=" AND PRESENT = 'TS' GROUP BY lesson";

$query = " SELECT * , COUNT(lesson) FROM seventh_a";
$query .=" WHERE class ='0' AND NAME ='Alexander Kirkby Scherer'";
$query .=" GROUP BY lesson";
之后,我可以回显
$row['COUNT(PRESENT)]
,但不能回显
$row['COUNT(lesson)]


有谁能告诉我如何获取这两个值,以便我能够使用它们吗?

您不能使用2查询。像这样使用组合查询

$query .=" SELECT * , COUNT(PRESENT),COUNT(lesson) FROM seventh_a";
$query .=" WHERE class ='0' AND NAME ='Alexander Kirkby Scherer'";
$query .=" AND PRESENT = 'TS' GROUP BY lesson";
$query .=" SELECT * , COUNT(PRESENT) FROM seventh_a";
$query .=" WHERE class ='0' AND NAME ='Alexander Kirkby Scherer'";
$query .=" AND PRESENT = 'TS' GROUP BY lesson;";   // semicolon here

$query .= " SELECT * , COUNT(lesson) FROM seventh_a";
$query .=" WHERE class ='0' AND NAME ='Alexander Kirkby Scherer'";
$query .=" GROUP BY lesson";
您将获得您的结果
$row['COUNT(PRESENT)]
$row['COUNT(lesson)]

或者使用mysqli的
multi_query
功能来添加

$query .=" SELECT * , COUNT(PRESENT),COUNT(lesson) FROM seventh_a";
$query .=" WHERE class ='0' AND NAME ='Alexander Kirkby Scherer'";
$query .=" AND PRESENT = 'TS' GROUP BY lesson";
$query .=" SELECT * , COUNT(PRESENT) FROM seventh_a";
$query .=" WHERE class ='0' AND NAME ='Alexander Kirkby Scherer'";
$query .=" AND PRESENT = 'TS' GROUP BY lesson;";   // semicolon here

$query .= " SELECT * , COUNT(lesson) FROM seventh_a";
$query .=" WHERE class ='0' AND NAME ='Alexander Kirkby Scherer'";
$query .=" GROUP BY lesson";
根据,如果您使用的是mysqli_multi_查询,您可以访问不同查询的结果,如下所示:

要从第一个查询中检索结果集,可以使用
mysqli\u use\u result()
mysqli\u store\u result()
。所有后续查询结果都可以使用
mysqli\u更多结果()
mysqli\u下一个结果()

他们给出了一些示例代码:

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->store_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->free();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

如果使用的是
mysqli\u multi\u查询
,则可以使用多个查询: