php+mysqli面向对象批量查询多张表数据

发布时间:2020-01-07编辑:脚本学堂
php+mysqli使用面向对象方式批量查询多张表数据的方法,包括了multi_query、store_result及more_results等函数的用法。
php+mysqli批量查询多张表数据的方

注意,php mysqli函数multi_query与store_result的用法。

代码:
复制代码 代码示例:
<?php
//1、创建数据库连接对象
$mysqli = new MySQLi("localhost","root","123456","liuyan");
if($mysqli->connect_error){
die($mysqli->connect_error);
}
$mysqli->query("set names 'GBK'");

//2、查询多个数据库表
$sqls = "select * from news limit 10,4;";
$sqls .= "select * from user;";

//3、执行并处理结果
if($res = $mysqli->multi_query($sqls)){
//注意:与$mysqli->query()不同,这里返回的是布尔值
do{
$result = $mysqli->store_result();//这里才真正返回结果集的资源对象,失败则返回false;
while($row = $result->fetch_assoc()){
foreach($row as $key=>$value){
echo "--$value--";
}
echo "<hr>";
}
$result->free();
if($mysqli->more_results()){//判断是否还存在有结果集
echo "----------查询下一张表的数据---------------<br>";
}
}while($mysqli->next_result());//next_result() 返回 true 或false;
}

//4、关闭数据库连接
$mysqli->close();
?>