php+mysqli批量查询多张表数据的方法

yipeiwu_com6年前Mysql基础

本文实例讲述了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();
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

php调用mysql存储过程

前面转载了一篇《php调用mysql存储过程的文章》经过测试,发现文章中的方法似乎不可行! 调用带有select语句的存储过程就出现 PROCEDURE p ...

如何设置mysql允许外网访问

mysql的root账户,我在连接时通常用的是localhost或127.0.0.1,公司的测试服务器上的mysql也是localhost所以我想访问无法访问,测试暂停. 解决方法: 1...

IIS下配置Php+Mysql+zend的图文教程

IIS下配置Php+Mysql+zend的图文教程

  为了迎接dvphp公测,特发此教程,希望对一些不会的朋友有所帮助,希望会的朋友多多指教!   下面的教程都是在windows 2000下实现的,其他系统请自己参...

PHP和Mysql中转UTF8编码问题汇总

一个网站如果需要国际化,就需要将编码从GB2312转成UTF-8,其中有很多的问题需要注意,如果没有转换彻底,将会有很多的编码问题出现! PHP页面转UTF-8编码问题 1.在代码开始出...

php下pdo的mysql事务处理用法实例

本文实例讲述了php下pdo的mysql事务处理用法。分享给大家供大家参考。具体分析如下: php+mysql事务处理的几个步骤: 1.关闭自动提交 2.开启事务处理 3.有异常就自动抛...