$mysqli->multi_query($sqls);     执行多个sql语句,返回true/false
有结果集时,使用 $mysqli->store_result(); 来获取结果集
使用$mysqli->next_result()来移动结果集指针
使用$mysqli->more_result()来判断是否还有下一个结果集

 

   1: <?php

   2: header("Content-Type:text/html; charset=utf8");

   3:  

   4: $mysqli = new mysqli("localhost","root","1234","test2");

   5:  

   6: if($mysqli->connect_error)

   7: {

   8:     die("连接数据库出错:".$mysqli->connect_error);

   9: }

  10:  

  11:  

  12: // // 增

  13: // $sqls = "insert into userinfo(uName,uAge,uPwd) values('测试07',18,MD5('1234'));";

  14: // // 删

  15: // $sqls .= "delete from userinfo where id=21;";

  16: // // 改

  17: // $sqls .= "update userinfo set uAge=19 where Id=21;";

  18:  

  19: // $result = $mysqli->multi_query($sqls);

  20:  

  21: // if($result){

  22: //     echo "操作成功!";

  23: // }else{

  24: //     die( "操作失败!".$mysqli->error);

  25: // }

  26:  

  27: // 查询多个结果集

  28: $sqls = "select * from userinfo where id>10;";

  29: $sqls .= "desc userinfo;";

  30: $sqls .= "select * from userinfo where uage>23;";

  31:  

  32: if($mysqli->multi_query($sqls))

  33: {

  34:     //循环读取每个表的数据

  35:     do{

  36:         if($result=$mysqli->store_result())

  37:         {

  38:             $tableStr="<table border='1' cellpadding='5'>";

  39:             //拼接表头信息

  40:             $tableStr.="<tr>";

  41:             while ($field=$result->fetch_field()) {

  42:                     $tableStr.="<th>".$field->name."</th>";

  43:             }

  44:             $tableStr.="</tr>";

  45:  

  46:             //拼接表内容信息

  47:             while ($row=$result->fetch_assoc()) {

  48:                 $tableStr.="<tr>";

  49:                 foreach ($row as $value) {

  50:                     $tableStr.="<td>$value</td>";

  51:                 }

  52:                 $tableStr.="</tr>";

  53:             }

  54:  

  55:             $tableStr.="</table>";

  56:  

  57:             //输出表数据

  58:             echo $tableStr;

  59:  

  60:             //释放结果集资源

  61:             $result->free();

  62:         }

  63:         if($mysqli->more_results()){

  64:             echo "<p>==================>>>>>></p>";

  65:         }

  66:     }while (@$mysqli->next_result());

  67: }

  68: else

  69: {

  70:     echo "操作出错:".$mysqli->error;

  71: }

  72:  

  73: //关闭连接

  74: $mysqli->close();

  75:  

  76: ?>

PHP的 Mysqli扩展库的多语句执行的更多相关文章

  1. mysqli扩展库操作mysql数据库

    配置环境 配置php.ini文件让php支持mysqli扩展库 extension=php_mysqli.dll 建库建表 详见博客 “mysql扩展库操作mysql数据库” 查询数据库 <?p ...

  2. 使用php的mysqli扩展库操作mysql数据库

    简单介绍mysqli: 1.mysqli(mysql improve mysql扩展库的增强版) mysql扩展库和mysqli扩展库的区别 1.mysqli的稳定性  安全性 和 执行效率有所提高 ...

  3. php数据库编程---mysqli扩展库

    1,mysqli扩展库允许我们访问MySQL数据库,并对MySql数据库进行curd操作.Mysqli扩展库比mysql扩展库加强了. 2,mysqli扩展库和mysql扩展库的比较 (1) mysq ...

  4. php mysqli扩展库之预处理操作

    分享下php使用mysqli扩展库进行预处理操作的二个例子,有意研究mysqli用法的朋友,可以参考学习下,一定会有所帮助的. 例1.使用mysqli扩展库的预处理技术 mysqli stmt 向数据 ...

  5. PHP使用mysqli扩展库实现增删改查(面向对象版)

    mysqli扩展库是mysql扩展库的改进版本,在mysql扩展库的基础上提高了稳定性和效率,mysqli扩展库有两套东西,一套就是面向过程的mysqli另一套是面向对象的mysqli.操作方式大体和 ...

  6. 【小结】有关mysql扩展库和mysqli扩展库的crud操作封装

    现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库   面向过程操作 2.mysqli扩展库  面向对象操作和面向过程操作并存  安全性和效率高于mysql扩展库 ...

  7. mysqli扩展库应用---程序范例

    通过mysqli扩展库对用户表user1进行增删改查操作,用户表user1结构如下: 1,建立数据库操作类库mysqliTool.class.php,代码如下: <?php class mysq ...

  8. PHP mysqli 扩展库(面向对象/数据库操作封装/事务控制/预编译)

    1.和mysql扩展库的区别: (1   安全性.稳定性更高 (2  提供了面向对象和面向过程两种风格 2.php.ini  中的  extension=php_mysqli.dll 解除封印 3.面 ...

  9. mysqli 扩展库的预处理技术(mysqli_stmt)

    提出问题 现在需要向mysql数据库中添加100个用户,请问如何实现? 方法一:for循环100次 方法二:使用批量添加 $sqls="insert xxx"; $sqls.=&q ...

随机推荐

  1. [小技巧] shell 下查看串口是否工作正常

    在 Linux 下调试串口,是个麻烦的事情,尤其是嵌入式环境,很多时候要借助另一台设备来进行调试. 这里琢磨出一种可行的串口调试方法,可以简单的查看串口是否在正确工作. 1. 短接 tx 和 rx,让 ...

  2. JDK7的Comparison method violates its general contract异常

    1.摘要 前一阵遇到了一个使用Collections.sort()时报异常的问题,跟小伙伴@zhuidawugui 一起排查了一下,发现问题的原因是JDK7的排序实现改为了TimSort,之后我们又进 ...

  3. HD2767Proving Equivalences(有向图强连通分量+缩点)

    题目链接 题意:有n个节点的图,现在给出了m个边,问最小加多少边是的图是强连通的 分析:首先找到强连通分量,然后把每一个强连通分量缩成一个点,然后就得到了一个DAG.接下来,设有a个节点(每个节点对应 ...

  4. linux学习笔记-dump命令的使用

    http://blog.chinaunix.net/uid-29797586-id-4458302.html

  5. 深入理解javascript中执行环境(作用域)与作用域链

    深入理解javascript中执行环境(作用域)与作用域链 相信很多初学者对与javascript中的执行环境与作用域链不能很好的理解,这里,我会按照自己的理解同大家一起分享. 一般情况下,我们把执行 ...

  6. DIY(码表)制作实验

    代码: #include<reg52.h>typedef unsigned char u8;typedef unsigned int  u16;/********端口定义********* ...

  7. stamp-po的作用

    stamp-po是表示po文件是否有更新,有更新,则重新编译一次

  8. Opencv中将CvMat转为IplImage

    Opencv中将CvMat转为IplImage,并在内存获得起头指针,而不用cvSaveImage(),贴上代码 IplImage * imgg = NULL; imgg = cvCreateImag ...

  9. vbox 网络配置文件

    sz /etc/sysconfig/network-scripts/ifcfg-eth1 #VAGRANT-BEGIN # The contents below are automatically g ...

  10. linux配置oracle11G监听及本地网络服务 及 数据库建库

    配置监听及本地网络服务 在oracle用户的图形界面oracle用户中,新开启一个终端,输入命令netca 会弹出如下界面. 数据库建库 在oracle用户的图形界面oracle用户中,新开启一个终端 ...