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查询
,则可以使用多个查询: