php 使用mysqli扩展类批量执行多条sql语句实例代码

时间:2016-07-16
php mysqli扩展类的mysqli_multi_query()函数可以批量执行多条sql语句,本文章向大家介绍如何使用mysqli扩展类批量执行SQL并处理多个SQL结果集,需要的朋友可以参考一下。

很多涉及数据库操作的PHP程序,都需要批量执行多条SQL语句,但是对于mysql_query函数,只能执行一条SQL语句,无法执行多条。但mysqli扩展类有一个函数mysqli_multi_query,该函数正好弥补了mysql_query只能执行一条SQL语句的缺点,下面小编向大家介绍php批量执行多条SQL语句的实例代码:

需要注意的是,该实例使用了面向对象编程的方法,当然也可以使用面向过程的方法。

<?php
   /*   http://www.manongjc.com   */
   //创建mysqli类并连接数据库
   $mysqli = new mysqli("127.0.0.1", "root","", "mydatabase");

   $userid = $_SESSION['userid'];

   $query = "SELECT lastname, firstname FROM user WHERE userID='$userid';";
   $query .= "SELECT product_count, CONCAT('$',total_cost) FROM sales WHERE userID='$userid'";

   //批量执行SQL语句。由于有多条SQL语句,所以会对于多条数据结果集,下面的代码处理了多条数据集。
   /*   http://www.manongjc.com/article/1193.html   */
   if($mysqli->multi_query($query)) {
      do {
         $result = $mysqli->store_result();
         while ($row = $result->fetch_row())
            echo "$row[0], $row[1] <br />";
         if ($mysqli->more_results())
            echo "<br />";
      } while ($mysqli->next_result());
   }
?>