返回多个结果集3
返回多个结果集2
返回多个结果集
multi_query($sql)
以第一条结果为准
https://bbs.csdn.net/topics/380249341
单次查询多条语句
header('content-type:text/html;charset=utf-8');
$mysqli = new mysqli('localhost','root','root','info');
if($mysqli->connect_errno){
die('Connect Error:'.$mysqli->connect_error);
}
$mysqli->set_charset('utf8');
$sql = "select id,username,age from mysqli;";
$sql .= "select name from fruit;";
/*
* 如果执行多个sql语句查询,能够得到多个结果集
* $mysqli->use_result() 得到查询的第一个结果集
* $mysqli->store_result() 得到查询的第一个结果集
* $mysqli->store_result() 的效率比$mysqli->use_result()的效率要高
*
* $mysqli->more_results() 检测是否还有更多的结果集
* $mysqli->next_result() 将结果集指针移动到下一个结果集
* */
//如果执行sql语句成功
if($mysqli->multi_query($sql)){
do{
//得到当前的结果集
if($mysqli_result = $mysqli->store_result()){
//把结果集转换为关联数组
$rows[] = $mysqli_result->fetch_all(MYSQLI_ASSOC);
}
//检测是否还有更多的结果集 && 如果有将结果集指针下移一位
}while($mysqli->more_results() && $mysqli->next_result());
}
//打印多维数组
print_r($rows);
<?phpheader('content-type:text/html;charset=utf-8');$mysqli = new mysqli('localhost','root','root','info');if($mysqli->connect_errno){ die('Connect Error:'.$mysqli->connect_error);}$mysqli->set_charset('utf8');$sql = "select id,username,age from mysqli;";$sql .= "select name from fruit;";/* * 如果执行多个sql语句查询,能够得到多个结果集 * $mysqli->use_result() 得到查询的第一个结果集 * $mysqli->store_result() 得到查询的第一个结果集 * $mysqli->store_result() 的效率比$mysqli->use_result()的效率要高 * * $mysqli->more_results() 检测是否还有更多的结果集 * $mysqli->next_result() 将结果集指针移动到下一个结果集 * *///如果执行sql语句成功 if($mysqli->multi_query($sql)){ do{ //得到当前的结果集 if($mysqli_result = $mysqli->store_result()){ //把结果集转换为关联数组 $rows[] = $mysqli_result->fetch_all(MYSQLI_ASSOC); } //检测是否还有更多的结果集 && 如果有将结果集指针下移一位 }while($mysqli->more_results() && $mysqli->next_result()); } //打印多维数组 print_r($rows);
mysqli multi-query store_result more_results next result
mysqli multi-query