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();
?>
//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();
?>
希望本文所述对大家的php程序设计有所帮助。